nidas v1.2.3
|
#include <VariableConverter.h>
Public Member Functions | |
VariableConverter () | |
VariableConverter (const VariableConverter &x) | |
Copy constructor. | |
VariableConverter & | operator= (const VariableConverter &x) |
Assignment. | |
virtual | ~VariableConverter () |
virtual VariableConverter * | clone () const =0 |
virtual void | readCalFile (dsm_time_t) throw () |
Before a VariableConverter can be used for a conversion, the converter's CalFile, if it exists, needs to be advanced to the right record for the current sample time. | |
void | setCalFileHandler (CalFileHandler *) |
Set the instance of CalFileHandler which will be called and given first option to handle new CalFile records. | |
virtual double | convert (dsm_time_t, double v)=0 |
void | setUnits (const std::string &val) |
virtual const std::string & | getUnits () const |
void | setVariable (const Variable *val) |
const Variable * | getVariable () const |
virtual void | reset ()=0 |
Reset the converter to invalid or default settings, such as after an error occurs parsing a CalFile. | |
const DSMSensor * | getDSMSensor () const |
const DSMConfig * | getDSMConfig () const |
virtual std::string | toString () const =0 |
Generate a string description of this VariableConverter. | |
virtual void | fromString (const std::string &) |
void | addParameter (Parameter *val) |
Add a parameter to this VariableConverter. | |
const std::list< const Parameter * > & | getParameters () const |
Get list of parameters. | |
const Parameter * | getParameter (const std::string &name) const |
Fetch a parameter by name. | |
void | fromDOMElement (const xercesc::DOMElement *) |
void | setCalFile (CalFile *) |
CalFile * | getCalFile () |
const CalFile * | getCalFile () const |
virtual xercesc::DOMElement * | toDOMParent (xercesc::DOMElement *parent, bool complete) const |
Create a DOMElement and append it to the parent. | |
virtual xercesc::DOMElement * | toDOMElement (xercesc::DOMElement *node, bool complete) const |
Add my content into a DOMElement. | |
Static Public Member Functions | |
static VariableConverter * | createVariableConverter (XDOMElement &child) |
static VariableConverter * | createFromString (const std::string &) |
static const XMLCh * | getNamespaceURI () |
Protected Member Functions | |
virtual void | parseFields (CalFile *cf)=0 |
Parse the fields in the current CalFile record for the particular settings and coefficients needed by this converter. | |
void | abortCalFile (const std::string &what) |
Protected Attributes | |
CalFile * | _calFile |
CalFileHandler * | _handler |
Private Attributes | |
std::string | _units |
std::map< std::string, Parameter * > | _parameters |
Map of parameters by name. | |
std::list< const Parameter * > | _constParameters |
List of const pointers to Parameters for providing via getParameters(). | |
const Variable * | _variable |
Static Private Attributes | |
static XMLCh * | namespaceURI = 0 |
VariableConverter::VariableConverter | ( | ) |
VariableConverter::VariableConverter | ( | const VariableConverter & | x | ) |
Copy constructor.
References _calFile, addParameter(), nidas::core::Parameter::clone(), and nidas::core::getSample().
|
virtual |
References _calFile, _constParameters, and nidas::core::getSample().
References _calFile, nidas::core::CalFile::getCurrentFileName(), reset(), and WLOG.
Add a parameter to this VariableConverter.
VariableConverter will then own the pointer and will delete it in its destructor. If a Parameter exists with the same name, it will be replaced with the new Parameter.
References _constParameters, _parameters, and nidas::core::getSample().
Referenced by fromDOMElement(), operator=(), and VariableConverter().
|
pure virtual |
Implemented in nidas::core::Linear, nidas::core::Polynomial, nidas::dynld::isff::CS_Krypton, and nidas::dynld::isff::RebsLinear.
Referenced by nidas::core::Variable::operator=(), and nidas::core::Variable::Variable().
|
pure virtual |
Implemented in nidas::core::Linear, nidas::core::Polynomial, and nidas::dynld::isff::CS_Krypton.
Referenced by nidas::dynld::isff::DAUSensor::process(), and nidas::dynld::raf::Watlow::process().
|
static |
nidas::util::InvalidParameterException |
References nidas::core::getSample().
|
static |
References nidas::core::DOMObjectFactory::createObject(), and nidas::core::getSample().
Referenced by nidas::core::Variable::fromDOMElement().
nidas::util::InvalidParameterException |
Implements nidas::core::DOMable.
References addParameter(), nidas::core::Parameter::createParameter(), getDSMSensor(), nidas::core::getSample(), setCalFile(), and setUnits().
Referenced by nidas::core::Linear::fromDOMElement(), nidas::core::Polynomial::fromDOMElement(), and nidas::dynld::isff::CS_Krypton::fromDOMElement().
nidas::util::InvalidParameterException |
Reimplemented in nidas::core::Linear, nidas::core::Polynomial, and nidas::dynld::isff::CS_Krypton.
|
inline |
References _calFile.
Referenced by nidas::core::SampleTag::fromDOMElement(), and nidas::dynld::isff::RebsLinear::toString().
References getDSMSensor(), and nidas::core::getSample().
References nidas::core::SampleTag::getDSMSensor(), nidas::core::getSample(), and getVariable().
Referenced by fromDOMElement(), and getDSMConfig().
References nidas::core::DOMable::namespaceURI.
Referenced by nidas::dynld::UDPSampleOutput::getProjectDOM(), nidas::core::Dataset::toDOMElement(), nidas::core::ProjectConfig::toDOMElement(), nidas::core::Dataset::toDOMParent(), nidas::core::Datasets::toDOMParent(), nidas::core::ProjectConfig::toDOMParent(), nidas::core::ProjectConfigs::toDOMParent(), nidas::core::DSMConfig::toDOMParent(), nidas::core::DSMSensor::toDOMParent(), nidas::core::Project::toDOMParent(), nidas::core::SampleTag::toDOMParent(), nidas::core::Site::toDOMParent(), nidas::core::ServerSocket::toDOMParent(), nidas::core::Variable::toDOMParent(), nidas::core::Datasets::writeXML(), and nidas::core::ProjectConfigs::writeXML().
Fetch a parameter by name.
Returns a NULL pointer if no such parameter exists.
References _parameters.
Referenced by nidas::dynld::isff::CS_Krypton::fromDOMElement().
|
inline |
Get list of parameters.
References _constParameters.
References _units.
Referenced by nidas::core::Linear::toString(), nidas::core::Polynomial::toString(), and nidas::dynld::isff::RebsLinear::toString().
References _variable.
Referenced by getDSMSensor().
VariableConverter & VariableConverter::operator= | ( | const VariableConverter & | x | ) |
Assignment.
References _calFile, _handler, _units, _variable, addParameter(), nidas::core::Parameter::clone(), and nidas::core::getSample().
Parse the fields in the current CalFile record for the particular settings and coefficients needed by this converter.
Implemented in nidas::core::Linear, nidas::core::Polynomial, and nidas::dynld::isff::CS_Krypton.
|
virtual |
Before a VariableConverter can be used for a conversion, the converter's CalFile, if it exists, needs to be advanced to the right record for the current sample time.
As records are read, this method calls parseFields() so the VariableConverter subclass can extract the particular information it needs from the CalFile fields, typically coefficients.
For sensors which need to extend the kind of conversions which can be specified by a CalFile, there is a callback function available. See setCalFileHandler().
References DLOG, nidas::util::UTime::format(), and nidas::core::getSample().
Referenced by nidas::core::Linear::convert(), nidas::core::Polynomial::convert(), nidas::dynld::isff::CS_Krypton::convert(), nidas::dynld::isff::RebsLinear::convert(), nidas::dynld::isff::NCAR_TRH::convertVariable(), and nidas::dynld::raf::SyncRecordSource::preLoadCalibrations().
Reset the converter to invalid or default settings, such as after an error occurs parsing a CalFile.
Implemented in nidas::core::Linear, nidas::core::Polynomial, and nidas::dynld::isff::CS_Krypton.
Referenced by abortCalFile().
References _calFile, and nidas::core::getSample().
Referenced by fromDOMElement().
void VariableConverter::setCalFileHandler | ( | CalFileHandler * | cfh | ) |
Set the instance of CalFileHandler which will be called and given first option to handle new CalFile records.
Pass null to disable the callbacks.
References _handler, and nidas::core::getSample().
References _units, and nidas::core::getSample().
Referenced by fromDOMElement(), nidas::core::Linear::fromString(), and nidas::core::Polynomial::fromString().
References _variable, and nidas::core::getSample().
|
virtualinherited |
Add my content into a DOMElement.
xercesc::DOMException |
Reimplemented in nidas::core::DSMConfig, nidas::core::DSMSensor, nidas::core::Project, nidas::core::SampleTag, nidas::core::Site, nidas::core::ServerSocket, and nidas::core::Variable.
Referenced by nidas::core::ServerSocket::toDOMParent().
|
virtualinherited |
Create a DOMElement and append it to the parent.
xercesc::DOMException |
Reimplemented in nidas::core::DSMConfig, nidas::core::DSMSensor, nidas::core::Project, nidas::core::SampleTag, nidas::core::Site, nidas::core::ServerSocket, and nidas::core::Variable.
|
pure virtual |
Generate a string description of this VariableConverter.
May be used in meta-data, for example Netcdf comment.
Implemented in nidas::dynld::isff::CS_Krypton, nidas::core::Linear, nidas::core::Polynomial, and nidas::dynld::isff::RebsLinear.
Referenced by nidas::dynld::isff::Wind2D::validate().
|
protected |
List of const pointers to Parameters for providing via getParameters().
Referenced by addParameter(), getParameters(), and ~VariableConverter().
|
protected |
Referenced by operator=(), and setCalFileHandler().
|
private |
Map of parameters by name.
Referenced by addParameter(), and getParameter().
|
private |
Referenced by getUnits(), operator=(), and setUnits().
Referenced by getVariable(), operator=(), and setVariable().
|
staticprivateinherited |
Referenced by nidas::core::DOMable::getNamespaceURI().