Brief description of class still missing. More...
#include <ShotRecord.h>
Public Member Functions | |
| double | deltaT () const |
| bool | isSameReceiverSet (const ShotRecord &o) const |
| int | nReceivers () const |
| int | nSamples () const |
| int | receiverIndex (double distance) const |
| void | revert () |
| void | setSignals (const SubSignalPool &subPool, int &index) |
| void | setT0 (double t) |
| ShotRecord () | |
| double | t0 () const |
| ~ShotRecord () | |
Static Public Member Functions | |
| static bool | organizeSubPool (SubSignalPool *subPool) |
Brief description of class still missing.
Full description of class still missing
Description still missing
References GeopsyCore::SignalProcess::setCurrentSubPool(), and TRACE.
{
TRACE;
_process=new SignalProcess;
_process->setCurrentSubPool(this);
}
| double ShotRecord::deltaT | ( | ) | const [inline] |
References GeopsyCore::DoubleSignal::deltaT(), and GeopsyCore::SubSignalPool::first().
| bool ShotRecord::isSameReceiverSet | ( | const ShotRecord & | o | ) | const |
References GeopsyCore::SubSignalPool::at(), GeopsyCore::SubSignalPool::count(), GeopsyCore::Signal::receiver(), and TRACE.
Referenced by ToolNR::initStations().
| int ShotRecord::nReceivers | ( | ) | const [inline] |
References GeopsyCore::SubSignalPool::count().
Referenced by ToolNR::highlightShot(), T0Correlation::setReceiverRange(), and T0Correlation::T0Correlation().
{return count();}
| int ShotRecord::nSamples | ( | ) | const [inline] |
References GeopsyCore::SubSignalPool::first(), and GeopsyCore::SignalTemplate< sampleType >::nSamples().
Referenced by organizeSubPool().
| bool ShotRecord::organizeSubPool | ( | SubSignalPool * | subPool | ) | [static] |
Description still missing
References GeopsyCore::SubSignalPool::begin(), GeopsyCore::Signal::compare(), GeopsyCore::DoubleSignal::deltaT(), GeopsyCore::SubSignalPool::end(), MSG_ID, nSamples(), GeopsyCore::SignalTemplate< sampleType >::nSamples(), GeopsyCore::Signal::receiver(), GeopsyCore::SubSignalPool::sort(), GeopsyCore::Signal::source(), GeopsyCore::Signal::t0(), GeopsyCore::Signal::timeReference(), QGpCoreTools::tr(), and TRACE.
Referenced by ToolNR::initStations().
{
TRACE;
SortKey::clear();
SortKey::add(MetaDataFactory::TimeReference);
SortKey::add(MetaDataFactory::SourceReceiverRoughAzimuth);
SortKey::add(MetaDataFactory::SourceReceiverDistance);
subPool->sort();
// Consistency checks : source, deltaT and T0 compatibility
SubSignalPool::iterator itPool=subPool->begin();
Signal * refSig=*itPool;
QDateTime refTR=refSig->timeReference();
Point refRec=refSig->receiver();
Point refSrc=refSig->source();
double refDt=refSig->deltaT();
double refT0=refSig->t0();
int nSamples=refSig->nSamples();
SortKey::clear();
SortKey::add(MetaDataFactory::SourceReceiverRoughAzimuth);
for( ++itPool;itPool!=subPool->end();++itPool) {
Signal * sig=*itPool;
if(refTR!=sig->timeReference() || sig->compare(*refSig)!=0) {
refTR=sig->timeReference();
refT0=sig->t0();
} else if(refRec==sig->receiver()) {
Message::warning(MSG_ID, tr("Gathering shot records"),
tr("More than one signal per receiver detected. Make sure that the time reference is "
"different for all individual shot. Suggestion: set preferences for loading signals to \"No common "
" time reference\" and \"Set \"Rxxx\" as name\"." ),
Message::cancel());
return false;
}
if(refDt!=sig->deltaT() ||
refT0!=sig->t0() ||
nSamples!=sig->nSamples() ||
refSrc!=sig->source()) {
Message::warning(MSG_ID, tr("Gathering shot records"),
tr("The sampling rate, the T0, the number of samples, "
"and the source coordinates must be the same for all signals." ),
Message::cancel());
return false;
}
refRec=sig->receiver();
}
return true;
}
| int ShotRecord::receiverIndex | ( | double | distance | ) | const |
Return the receiver index with a receiver-source distance just less than distance.
References GeopsyCore::SubSignalPool::at(), GeopsyCore::SubSignalPool::count(), and TRACE.
| void ShotRecord::revert | ( | ) |
References GeopsyCore::SignalProcess::clear(), GeopsyCore::SignalProcess::restoreStep(), and TRACE.
{
TRACE;
_process->restoreStep(0);
_process->clear();
}
| void ShotRecord::setSignals | ( | const SubSignalPool & | subPool, |
| int & | index | ||
| ) |
References GeopsyCore::SubSignalPool::addSignal(), GeopsyCore::SubSignalPool::at(), GeopsyCore::SubSignalPool::count(), GeopsyCore::SubSignalPool::setName(), GeopsyCore::Signal::timeReference(), and TRACE.
Referenced by ToolNR::initStations().
{
TRACE;
Signal * sig=subPool.at(index);
QDateTime refTR=sig->timeReference();
for(; index<subPool.count();index++) {
sig=subPool.at(index);
if(sig->timeReference()!=refTR) break;
addSignal(sig);
}
setName(refTR.toString("hhmmss"));
}
| void ShotRecord::setT0 | ( | double | t | ) |
| double ShotRecord::t0 | ( | ) | const [inline] |
References GeopsyCore::SubSignalPool::first(), and GeopsyCore::Signal::t0().
Referenced by setT0().