Brief description of class still missing. More...
#include <HVStationSignals.h>
Public Member Functions | |
DoubleSignal * | horizontal (AbstractToolParameters *param, double factor=1.0) |
DoubleSignal * | horizontal (double azimuth, AbstractToolParameters *param) |
HVStationSignals (const StationSignals *originalSignals) | |
virtual void | setProcessed (const TimeRange &tw, AbstractParameters *param) |
DoubleSignal * | vertical () const |
~HVStationSignals () |
Brief description of class still missing.
Full description of class still missing
HVStationSignals::HVStationSignals | ( | const StationSignals * | originalSignals | ) | [inline] |
: SpectrumStationSignals(originalSignals) {_hAmplitude=0;}
DoubleSignal * HVStationSignals::horizontal | ( | AbstractToolParameters * | param, |
double | factor = 1.0 |
||
) |
References GeopsyCore::DoubleSignal::add(), GeopsyCore::DoubleSignal::copyAmplitudeFrom(), QGpCoreTools::SamplingParameters::maximum(), QGpCoreTools::SamplingParameters::minimum(), GeopsyCore::SignalTemplate< sampleType >::multiply(), GeopsyCore::StationProcessSignals::processed(), MonoStation::AbstractToolParameters::sampling(), GeopsyCore::DoubleSignal::smooth(), MonoStation::AbstractToolParameters::smoothing(), GeopsyCore::DoubleSignal::sqrt(), GeopsyCore::DoubleSignal::square(), and TRACE.
{ TRACE; delete _hAmplitude; _hAmplitude=new DoubleSignal; _hAmplitude->copyAmplitudeFrom(processed(1)); _hAmplitude->square(); DoubleSignal * h2Amplitude=new DoubleSignal; h2Amplitude->copyAmplitudeFrom(processed(2)); h2Amplitude->square(); _hAmplitude->add(h2Amplitude); delete h2Amplitude; if(factor!=1.0) _hAmplitude->multiply(factor); _hAmplitude->sqrt(); _hAmplitude->smooth(param->smoothing(), param->sampling().minimum(), param->sampling().maximum()); return _hAmplitude; }
DoubleSignal * HVStationSignals::horizontal | ( | double | azimuth, |
AbstractToolParameters * | param | ||
) |
Return an horizontal spectrum in direction azimuth counted clockwise from North
References GeopsyCore::ComplexSignal::abs(), GeopsyCore::SignalTemplate< sampleType >::add(), QGpCoreTools::cos(), QGpCoreTools::SamplingParameters::maximum(), QGpCoreTools::SamplingParameters::minimum(), GeopsyCore::ComplexSignal::multiply(), GeopsyCore::SignalTemplate< sampleType >::nSamples(), GeopsyCore::StationProcessSignals::originalSignals(), GeopsyCore::DoubleSignal::positiveComplexSpectrum(), GeopsyCore::StationProcessSignals::processed(), MonoStation::AbstractToolParameters::sampling(), GeopsyCore::DoubleSignal::setDeltaF(), GeopsyCore::DoubleSignal::setType(), QGpCoreTools::sin(), GeopsyCore::DoubleSignal::smooth(), MonoStation::AbstractToolParameters::smoothing(), and TRACE.
{ TRACE; double a=azimuth * M_PI/180.0; ComplexSignal * h1c=processed(1)->positiveComplexSpectrum(); h1c->multiply(cos(a)); ComplexSignal * h2c=processed(2)->positiveComplexSpectrum(); h2c->multiply(sin(a)); h1c->add(h2c); delete _hAmplitude; _hAmplitude=h1c->abs(); delete h1c; delete h2c; _hAmplitude->setDeltaF(0.5/(originalSignals()->deltaT()*_hAmplitude->nSamples())); _hAmplitude->setType(DoubleSignal::RealSpectrum); _hAmplitude->smooth(param->smoothing(), param->sampling().minimum(), param->sampling().maximum()); return _hAmplitude; }
void HVStationSignals::setProcessed | ( | const TimeRange & | tw, |
AbstractParameters * | param | ||
) | [virtual] |
Reimplemented from MonoStation::SpectrumStationSignals.
References GeopsyCore::DoubleSignal::copyAmplitudeFrom(), QGpCoreTools::SamplingParameters::maximum(), QGpCoreTools::SamplingParameters::minimum(), GeopsyCore::StationProcessSignals::processed(), MonoStation::AbstractToolParameters::sampling(), GeopsyCore::DoubleSignal::smooth(), MonoStation::AbstractToolParameters::smoothing(), and TRACE.
{ TRACE; AbstractToolParameters * hvParam=static_cast<AbstractToolParameters *>(param); for(int i=0; i<3; i++) { fft(i, tw, hvParam); } // Smoothed amplitude for vertical component DoubleSignal * vAmplitude=new DoubleSignal; vAmplitude->copyAmplitudeFrom(processed(0)); vAmplitude->smooth(hvParam->smoothing(), hvParam->sampling().minimum(), hvParam->sampling().maximum()); delete processed(0); processed(0)=vAmplitude; }
DoubleSignal* HVStationSignals::vertical | ( | ) | const [inline] |
References GeopsyCore::StationProcessSignals::processed().
{return processed(0);}