26#ifndef NIDAS_CORE_VARIABLE_H
27#define NIDAS_CORE_VARIABLE_H
37namespace nidas {
namespace core {
412 toDOMParent(xercesc::DOMElement* parent,
bool complete)
const;
418 toDOMElement(xercesc::DOMElement* node,
bool complete)
const;
Interface of an object that can be instantiated from a DOM element, via the fromDOMElement method,...
Definition DOMable.h:51
Definition Parameter.h:47
Class describing a group of variables that are sampled and handled together.
Definition SampleTag.h:88
A measurement site.
Definition Site.h:49
Definition VariableConverter.h:70
Class describing a sampled variable.
Definition Variable.h:47
float _maxValue
Definition Variable.h:467
std::string _prefix
Definition Variable.h:432
std::string _units
Definition Variable.h:444
float getMissingValue() const
Definition Variable.h:346
xercesc::DOMElement * toDOMParent(xercesc::DOMElement *parent, bool complete) const
Definition Variable.cc:401
const VariableConverter * getConverter() const
Definition Variable.h:252
const Site * _site
Definition Variable.h:426
void setDynamic(bool val)
A dynamic variable is one that can come and go.
Definition Variable.h:399
const Site * getSite() const
Return the measurement site for this variable.
Definition Variable.h:99
void addParameter(Parameter *val)
Add a parameter to this Variable.
Definition Variable.h:321
void setMinValue(float val)
Set the minimum allowed value for this variable.
Definition Variable.h:357
float _minValue
Definition Variable.h:465
void setType(type_t val)
Definition Variable.h:140
void setMaxValue(float val)
Definition Variable.h:368
std::string _longname
Definition Variable.h:438
int getA2dChannel() const
Definition Variable.h:226
float getSampleRate() const
Convenience routine to get the SampleTag rate.
Definition Variable.cc:261
int _station
Definition Variable.h:428
void setStation(int val)
Definition Variable.h:131
void setSampleTag(const SampleTag *val)
Set the sample tag pointer.
Definition Variable.cc:172
std::string _siteSuffix
Definition Variable.h:436
enum nidas::core::Variable::var_type type_t
var_type
Definition Variable.h:50
@ WEIGHT
Definition Variable.h:50
@ COUNTER
Definition Variable.h:50
@ CLOCK
Definition Variable.h:50
@ CONTINUOUS
Definition Variable.h:50
@ OTHER
Definition Variable.h:50
void setConverter(VariableConverter *val)
Set the VariableConverter for this Variable.
Definition Variable.h:246
bool closeMatch(const Variable &x) const
A more loose check of the equivalence of two variables, This will also return a value of true if eith...
Definition Variable.cc:232
const std::string & getUnits() const
Definition Variable.h:233
std::list< Parameter * > _parameters
List of pointers to Parameters.
Definition Variable.h:455
bool operator!=(const Variable &x) const
Definition Variable.cc:204
void setSiteSuffix(const std::string &val)
Definition Variable.cc:158
const std::string & getNameWithoutSite() const
Get the name without the site suffix.
Definition Variable.h:212
int _A2dChannel
Definition Variable.h:442
const std::string & getLongName() const
Definition Variable.h:219
Variable()
Create a variable.
Definition Variable.cc:45
std::list< const Parameter * > _constParameters
List of const pointers to Parameters for providing via getParameters().
Definition Variable.h:461
unsigned int getLength() const
How many values in this variable?
Definition Variable.h:238
const Parameter * getParameter(const std::string &name) const
Fetch a parameter by name.
Definition Variable.cc:266
void setName(const std::string &val)
Set the full name.
Definition Variable.h:198
std::string _nameWithoutSite
Definition Variable.h:430
std::string _name
Definition Variable.h:424
xercesc::DOMElement * toDOMElement(xercesc::DOMElement *node, bool complete) const
Definition Variable.cc:412
void getPlotRange(float &minv, float &maxv) const
Definition Variable.h:385
float getMaxValue() const
Definition Variable.h:374
const std::string & getPrefix() const
Definition Variable.h:170
bool _dynamic
Definition Variable.h:471
void setPrefix(const std::string &val)
Set the name prefix.
Definition Variable.h:163
const SampleTag * getSampleTag() const
What sample am I a part of?
Definition Variable.h:145
const std::list< const Parameter * > & getParameters() const
Get full list of parameters.
Definition Variable.h:330
void fromDOMElement(const xercesc::DOMElement *)
Definition Variable.cc:275
VariableConverter * getConverter()
Definition Variable.h:254
float * convert(dsm_time_t ttag, float *values, int nvalues=0, float *results=0)
Apply the conversions for this Variable to the floats pointed to by values, putting the results in re...
Definition Variable.cc:451
VariableConverter * _converter
Definition Variable.h:450
unsigned int _length
Definition Variable.h:448
const std::string & getSiteSuffix() const
Site suffix, which is added to the name.
Definition Variable.h:191
type_t _type
Definition Variable.h:446
void setLongName(const std::string &val)
Descriptive, long name, e.g.
Definition Variable.h:217
bool isDynamic() const
Definition Variable.h:401
const std::string & getName() const
Definition Variable.h:207
int getStation() const
Station number of this variable:
Definition Variable.h:129
float _missingValue
Definition Variable.h:463
void setA2dChannel(int val)
The A2D channel for this variable.
Definition Variable.h:224
void setUnits(const std::string &val)
The string discription of the units for this variable.
Definition Variable.h:231
Variable & operator=(const Variable &)
Assignment.
Definition Variable.cc:100
void setPlotRange(float minv, float maxv)
Definition Variable.h:379
float getMinValue() const
Definition Variable.h:363
void setSite(const Site *val)
Set the Site where this variable was measured.
Definition Variable.h:89
bool operator<(const Variable &x) const
Definition Variable.cc:209
std::string _suffix
Definition Variable.h:434
bool operator==(const Variable &x) const
Equivalence operator for Variable, checks equivalence of their length, the variables's names without ...
Definition Variable.cc:181
virtual ~Variable()
Definition Variable.cc:150
const std::string & getSuffix() const
Variable suffix, which is added to the name.
Definition Variable.h:179
type_t getType() const
Definition Variable.h:138
void setSuffix(const std::string &val)
Definition Variable.h:181
const SampleTag * _sampleTag
Definition Variable.h:440
float _plotRange[2]
Definition Variable.h:469
void setMissingValue(float val)
Definition Variable.h:341
void setLength(unsigned int val)
Definition Variable.h:240
Sample * getSample(sampleType type, unsigned int len)
A convienence method for getting a sample of an enumerated type from a pool.
Definition Sample.cc:70
long long dsm_time_t
Posix time in microseconds, the number of non-leap microseconds since 1970 Jan 1 00:00 UTC.
Definition Sample.h:62
Root namespace for the NCAR In-Situ Data Acquisition Software.
Definition A2DConverter.h:31