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] |