Brief description of class still missing. More...
#include <DynamicSignal.h>
Public Member Functions | |
| virtual int | dataSize () const |
| DynamicSignal (SignalDB *db) | |
| void | set (double t, const int *samples, int nSamples) |
| void | set (double t, const double *samples, int nSamples) |
| virtual void | setNSamples (int n) |
| void | shiftT0 (int nSamples) |
| ~DynamicSignal () | |
Brief description of class still missing.
Full description of class still missing
| GeopsyCore::DynamicSignal::DynamicSignal | ( | SignalDB * | db | ) | [inline] |
: Signal(db) {_maxNSamples=0; _t0Shift=0;}
References GeopsyCore::SignalTemplate< double >::samples(), GeopsyCore::SignalTemplate< double >::setSamples(), and TRACE.
{
TRACE;
// Upon deletion of object, virtual function are not working anymore
// We remove the shift before removing samples the normal way.
setSamples(samples()-_t0Shift);
_t0Shift=0;
}
| virtual int GeopsyCore::DynamicSignal::dataSize | ( | ) | const [inline, virtual] |
Reimplemented from GeopsyCore::SignalTemplate< double >.
{return _maxNSamples * sizeof(double);}
| void GeopsyCore::DynamicSignal::set | ( | double | t, |
| const int * | samples, | ||
| int | nSamples | ||
| ) |
| void GeopsyCore::DynamicSignal::set | ( | double | t, |
| const double * | samples, | ||
| int | nSamples | ||
| ) |
| void GeopsyCore::DynamicSignal::setNSamples | ( | int | n | ) | [virtual] |
| void GeopsyCore::DynamicSignal::shiftT0 | ( | int | nSamples | ) |
Shift t0 by nSamples. nSamples will be lost and won't be accessible anymore by normal processings. t0() is modified accordingly, nSamples() is reduced by nSamples.
References GeopsyCore::SignalTemplate< double >::_nSamples, GeopsyCore::Signal::_t0, GeopsyCore::DoubleSignal::deltaT(), LOCK_SAMPLES, GeopsyCore::SignalTemplate< double >::nSamples(), setNSamples(), GeopsyCore::SignalTemplate< double >::setSamples(), TRACE, and UNLOCK_SAMPLES.
Referenced by GeopsySLink::SeedLinkStream::set().
{
TRACE;
ASSERT(nSamples>=0);
if(_nSamples<nSamples) {
if(_nSamples>0) {
nSamples=_nSamples;
} else {
return;
}
}
LOCK_SAMPLES(double, thisSamples, this)
_t0+=nSamples*deltaT();
_t0Shift+=nSamples;
double * newSamples=thisSamples+nSamples;
setSamples(0); // To avoid ASSERT in SignalTemplate
setNSamples(_nSamples-nSamples);
setSamples(newSamples);
UNLOCK_SAMPLES(this)
}