Parameters to define time limits. More...
#include <TimeRangeParameters.h>
Public Types | |
enum | Type { Absolute, Delta, Signal, Pick } |
Public Member Functions | |
TimeRange | absoluteRange () const |
TimeRange | absoluteRange (const GeopsyCore::Signal *sig) const |
TimeRange | absoluteRange (const StationSignals *sigs) const |
virtual void | collectKeywords (PARAMETERS_COLLECTKEYWORDS_ARGS) |
double | deltaT () const |
const QString & | endPick () const |
Type | endType () const |
QString | endTypeString () const |
virtual int | keywordCount (PARAMETERS_KEYWORDCOUNT_ARGS) |
void | operator= (const TimeRangeParameters &o) |
void | setDeltaT (double dt) |
void | setEndPick (const QString &p) |
void | setEndType (Type t) |
void | setEndType (const QString &t) |
void | setStartPick (const QString &p) |
void | setStartType (Type t) |
void | setStartType (const QString &t) |
void | setUseFirstSignal (bool f) |
virtual bool | setValue (PARAMETERS_SETVALUE_ARGS) |
const QString & | startPick () const |
Type | startType () const |
QString | startTypeString () const |
TimeRangeParameters () | |
TimeRangeParameters (const TimeRangeParameters &o) | |
virtual QString | toString (PARAMETERS_TOSTRING_ARGS_DECL) const |
bool | useFirstSignal () const |
virtual void | xml_attributes (XML_ATTRIBUTES_ARGS) const |
virtual bool | xml_setAttributes (XML_SETATTRIBUTES_ARGS) |
virtual const QString & | xml_tagName () const |
Static Public Attributes | |
static const QString | xmlTimeRangeParametersTag = "TimeRangeParameters" |
Parameters to define time limits.
Defines time limits according to signal properties. It can be relative to t0, end, time picks or absolute.
GeopsyCore::TimeRangeParameters::TimeRangeParameters | ( | const TimeRangeParameters & | o | ) | [inline] |
: TimeRange(o), AbstractParameters(), XMLClass() {operator=(o);}
References GeopsyCore::TimeRange::TimeRange().
Referenced by LinearFKActiveArrayStations::addTimeWindow(), TFAResults::compute(), DampingResults::compute(), GeopsyCore::SubSignalPool::cut(), StackWeights::misfit(), MonoStation::AbstractTool::refreshSignal(), LinearFKActiveStationSignals::taper(), GeopsyCore::SubSignalPool::taper(), PtMotionResults::updateSignals(), T0Correlation::value(), and GeopsyGui::SignalLayer::visibleSamples().
{ return TimeRange(absoluteStart(0), absoluteEnd(0)); }
TimeRange GeopsyCore::TimeRangeParameters::absoluteRange | ( | const GeopsyCore::Signal * | sig | ) | const |
References GeopsyCore::TimeRange::TimeRange().
{ return TimeRange(absoluteStart(sig), absoluteEnd(sig)); }
TimeRange GeopsyCore::TimeRangeParameters::absoluteRange | ( | const StationSignals * | sigs | ) | const |
References Delta, GeopsyCore::StationSignals::firstValidSignal(), GeopsyCore::StationSignals::lastValidSignal(), and GeopsyCore::TimeRange::TimeRange().
{ double t1, t2; if(_startType==Delta && _endType!=Delta) { t2=absoluteEnd(sigs->lastValidSignal()); t1=t2-_deltaT; } else if(_endType==Delta && _startType!=Delta) { t1=absoluteStart(sigs->firstValidSignal()); t2=t1+_deltaT; } else { t1=absoluteStart(sigs->firstValidSignal()); t2=absoluteEnd(sigs->lastValidSignal()); } return TimeRange(t1, t2); }
void GeopsyCore::TimeRangeParameters::collectKeywords | ( | PARAMETERS_COLLECTKEYWORDS_ARGS | ) | [virtual] |
Reimplemented from QGpCoreTools::AbstractParameters.
References TRACE.
Referenced by TFAParameters::collectKeywords(), Parameters::collectKeywords(), ArrayCore::ArrayParameters::collectKeywords(), and ArrayCore::LinearFKParameters::collectKeywords().
{ TRACE; keywords.add(prefix+"FROM TIME TYPE", this, 0); keywords.add(prefix+"FROM TIME TEXT", this, 1); keywords.add(prefix+"TO TIME TYPE", this, 2); keywords.add(prefix+"TO TIME TEXT", this, 3); keywords.add(prefix+"USE FIRST PICK ONLY", this, 4); }
double GeopsyCore::TimeRangeParameters::deltaT | ( | ) | const [inline] |
Referenced by xml_attributes().
{return _deltaT;}
const QString& GeopsyCore::TimeRangeParameters::endPick | ( | ) | const [inline] |
Referenced by GeopsyGui::TimeRangeParameterWidget::setParameters(), and xml_attributes().
{return _endPick;}
Type GeopsyCore::TimeRangeParameters::endType | ( | ) | const [inline] |
Referenced by GeopsyGui::TimeRangeParameterWidget::setParameters().
{return _endType;}
QString GeopsyCore::TimeRangeParameters::endTypeString | ( | ) | const [inline] |
Referenced by toString(), and xml_attributes().
{return type2String(_endType);}
int GeopsyCore::TimeRangeParameters::keywordCount | ( | PARAMETERS_KEYWORDCOUNT_ARGS | ) | [virtual] |
Reimplemented from QGpCoreTools::AbstractParameters.
{
return 5;
}
void GeopsyCore::TimeRangeParameters::operator= | ( | const TimeRangeParameters & | o | ) | [inline] |
References TRACE.
{ TRACE; _startPick=o._startPick; _endPick=o._endPick; _deltaT=o._deltaT; _startType=o._startType; _endType=o._endType; _useFirstSignal=o._useFirstSignal; TimeRange::operator=(o); }
void GeopsyCore::TimeRangeParameters::setDeltaT | ( | double | dt | ) | [inline] |
Referenced by GeopsyGui::TimeRangeParameterWidget::getParameters(), and xml_setAttributes().
void GeopsyCore::TimeRangeParameters::setEndPick | ( | const QString & | p | ) | [inline] |
Referenced by GeopsyGui::TimeRangeParameterWidget::getParameters(), and xml_setAttributes().
{_endPick=p;}
void GeopsyCore::TimeRangeParameters::setEndType | ( | Type | t | ) | [inline] |
Referenced by GeopsyGui::TimeRangeParameterWidget::getParameters(), setValue(), and xml_setAttributes().
{_endType=t;}
void GeopsyCore::TimeRangeParameters::setEndType | ( | const QString & | t | ) | [inline] |
{_endType=string2Type(t);}
void GeopsyCore::TimeRangeParameters::setStartPick | ( | const QString & | p | ) | [inline] |
Referenced by GeopsyGui::TimeRangeParameterWidget::getParameters(), and xml_setAttributes().
{_startPick=p;}
void GeopsyCore::TimeRangeParameters::setStartType | ( | Type | t | ) | [inline] |
Referenced by GeopsyGui::TimeRangeParameterWidget::getParameters(), setValue(), and xml_setAttributes().
{_startType=t;}
void GeopsyCore::TimeRangeParameters::setStartType | ( | const QString & | t | ) | [inline] |
{_startType=string2Type(t);}
void GeopsyCore::TimeRangeParameters::setUseFirstSignal | ( | bool | f | ) | [inline] |
Referenced by GeopsyGui::TimeRangeParameterWidget::getParameters(), and xml_setAttributes().
{_useFirstSignal=f;}
bool GeopsyCore::TimeRangeParameters::setValue | ( | PARAMETERS_SETVALUE_ARGS | ) | [virtual] |
Reimplemented from QGpCoreTools::AbstractParameters.
References Absolute, Delta, Pick, GeopsyCore::TimeRange::setEnd(), setEndType(), GeopsyCore::TimeRange::setStart(), setStartType(), and TRACE.
{ TRACE; switch(index) { case 0: setStartType(value); return true; case 1: switch(_startType) { case Pick: _startPick=value; break; case Delta: _deltaT=value.toDouble(); case Absolute: setStart(value.toDouble()); break; default: break; } return true; case 2: setEndType(value); return true; case 3: switch(_endType) { case Pick: _endPick=value; break; case Delta: _deltaT=value.toDouble(); case Absolute: setEnd(value.toDouble()); break; default: break; } return true; case 4: _useFirstSignal=(value=="y"); return true; default: return false; } }
const QString& GeopsyCore::TimeRangeParameters::startPick | ( | ) | const [inline] |
Referenced by GeopsyGui::TimeRangeParameterWidget::setParameters(), and xml_attributes().
{return _startPick;}
Type GeopsyCore::TimeRangeParameters::startType | ( | ) | const [inline] |
Referenced by GeopsyGui::TimeRangeParameterWidget::setParameters().
{return _startType;}
QString GeopsyCore::TimeRangeParameters::startTypeString | ( | ) | const [inline] |
Referenced by toString(), and xml_attributes().
{return type2String(_startType);}
QString GeopsyCore::TimeRangeParameters::toString | ( | PARAMETERS_TOSTRING_ARGS_DECL | ) | const [virtual] |
Reimplemented from QGpCoreTools::AbstractParameters.
References Absolute, Delta, GeopsyCore::TimeRange::end(), endTypeString(), QGpCoreTools::log(), Pick, GeopsyCore::TimeRange::start(), startTypeString(), and TRACE.
Referenced by TFAParameters::toString(), Parameters::toString(), ArrayCore::ArrayParameters::toString(), and ArrayCore::LinearFKParameters::toString().
{ TRACE; QString log; log+=prefix+"FROM TIME TYPE="+startTypeString()+"\n"; switch(_startType) { case Pick: log+=prefix+"FROM TIME TEXT="+_startPick+"\n"; break; case Delta: log+=prefix+"FROM TIME TEXT="+QString::number(_deltaT)+"\n"; case Absolute: log+=prefix+"FROM TIME TEXT="+QString::number(start())+"\n"; default: break; } log+=prefix+"TO TIME TYPE="+endTypeString()+"\n"; switch(_endType) { case Pick: log+=prefix+"TO TIME TEXT="+_endPick+"\n"; break; case Delta: log+=prefix+"TO TIME TEXT="+QString::number(_deltaT)+"\n"; case Absolute: log+=prefix+"TO TIME TEXT="+QString::number(end())+"\n"; default: break; } log+=prefix+"USE FIRST PICK ONLY="+(_useFirstSignal ? "y" : "n")+"\n"; return log; }
bool GeopsyCore::TimeRangeParameters::useFirstSignal | ( | ) | const [inline] |
Referenced by GeopsyGui::TimeRangeParameterWidget::setParameters(), and xml_attributes().
{return _useFirstSignal;}
void GeopsyCore::TimeRangeParameters::xml_attributes | ( | XML_ATTRIBUTES_ARGS | ) | const [virtual] |
Reimplemented from QGpCoreTools::XMLClass.
References deltaT(), GeopsyCore::TimeRange::end(), endPick(), endTypeString(), GeopsyCore::TimeRange::start(), startPick(), startTypeString(), and useFirstSignal().
Referenced by GeopsyGui::SignalLayer::xml_writeProperties().
{ Q_UNUSED(context); static const QString keys[]={ "startType", "endType", "useFirstSignal", "startPick", "endPick", "deltaT", "start", "end" }; attributes.add(keys[0], startTypeString()); attributes.add(keys[1], endTypeString()); attributes.add(keys[2], useFirstSignal() ? "true" : "false" ); attributes.add(keys[3], startPick()); attributes.add(keys[4], endPick()); attributes.add(keys[5], QString::number(deltaT()) ); attributes.add(keys[6], QString::number(start()) ); attributes.add(keys[7], QString::number(end()) ); }
bool GeopsyCore::TimeRangeParameters::xml_setAttributes | ( | XML_SETATTRIBUTES_ARGS | ) | [virtual] |
Reimplemented from QGpCoreTools::XMLClass.
References QGpCoreTools::endl(), setDeltaT(), GeopsyCore::TimeRange::setEnd(), setEndPick(), setEndType(), GeopsyCore::TimeRange::setStart(), setStartPick(), setStartType(), setUseFirstSignal(), QGpCoreTools::StringSection::size(), QGpCoreTools::StringSection::toString(), and QGpCoreTools::tr().
Referenced by GeopsyGui::SignalLayer::xml_setProperty().
{ Q_UNUSED(context); XMLRestoreAttributeIterator it; for(it=attributes.begin(); it!=attributes.end();it++) { const StringSection& att=it.key(); switch(att[0].unicode()) { case 's': if(att.size()>5) { if(att[5].unicode()=='T') { setStartType(it.value().toString()); } else { setStartPick(it.value().toString()); } } else { setStart(it.value().toDouble()); } break; case 'e': if(att.size()>5) { if(att[5].unicode()=='T') { setEndType(it.value().toString()); } else { setEndPick(it.value().toString()); } } else { setEnd(it.value().toDouble()); } break; case 'u': setUseFirstSignal(it.value()=="true" ); break; case 'd': setDeltaT(it.value().toDouble()); break; default: App::stream() << tr("Bad attribute: %1").arg(att.toString()) << endl; return false; } } return true; }
virtual const QString& GeopsyCore::TimeRangeParameters::xml_tagName | ( | ) | const [inline, virtual] |
Implements QGpCoreTools::XMLClass.
{return xmlTimeRangeParametersTag;}
const QString GeopsyCore::TimeRangeParameters::xmlTimeRangeParametersTag = "TimeRangeParameters" [static] |