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);}