26#ifndef NIDAS_DYNLD_A2DSENSOR_H
27#define NIDAS_DYNLD_A2DSENSOR_H
39namespace nidas {
namespace dynld {
94 bool process(
const Sample* insamp,std::list<const Sample*>& results)
throw();
205 cfg().nFilterData =
sizeof(
int);
227 cfg().nFilterData =
sizeof(
int);
Virtual class with methods for performing conversions from integer A2D counts to floating point volta...
Definition A2DConverter.h:61
A class for reading ASCII files containing a time series of calibration data.
Definition CalFile.h:166
DSMSensor provides the basic support for reading, processing and distributing samples from a sensor a...
Definition DSMSensor.h:88
Class describing a group of variables that are sampled and handled together.
Definition SampleTag.h:88
Interface to a data sample.
Definition Sample.h:190
A2D configuration for box-car averaging of A2D samples.
Definition A2DSensor.h:197
A2DBoxcarConfig(const A2DBoxcarConfig &x)
A2DBoxcarConfig(int n)
Definition A2DSensor.h:199
int npts
Definition A2DSensor.h:207
A2DBoxcarConfig & operator=(const A2DBoxcarConfig &rhs)
A2D configuration information that is sent to the A2D device module.
Definition A2DSensor.h:180
virtual nidas_a2d_sample_config & cfg()
Definition A2DSensor.h:184
virtual ~A2DSampleConfig()
Definition A2DSensor.h:183
A2DSampleConfig & operator=(const A2DSampleConfig &rhs)
nidas_a2d_sample_config _cfg
Definition A2DSensor.h:186
A2DSampleConfig(const A2DSampleConfig &x)
A2DSampleConfig()
Definition A2DSensor.h:182
Information needed to intepret the samples that are received from the A2D device.
Definition A2DSensor.h:243
SampleTag * stag
Definition A2DSensor.h:265
std::vector< int > channels
Definition A2DSensor.h:266
~A2DSampleInfo()
Definition A2DSensor.h:262
int nvalues
Definition A2DSensor.h:264
A2DSampleInfo & operator=(const A2DSampleInfo &rhs)
Definition A2DSensor.h:251
A2DSampleInfo(const A2DSampleInfo &x)
Definition A2DSensor.h:247
int nvars
Definition A2DSensor.h:263
A2DSampleInfo(int n)
Definition A2DSensor.h:245
A2D configuration for time-based averaging of A2D samples.
Definition A2DSensor.h:219
A2DTimeAvgConfig(int n)
Definition A2DSensor.h:221
A2DTimeAvgConfig(const A2DTimeAvgConfig &x)
A2DTimeAvgConfig & operator=(const A2DTimeAvgConfig &rhs)
int rate
Definition A2DSensor.h:229
Virtual base class for supporting sensors attached to an A2D.
Definition A2DSensor.h:46
virtual A2DConverter * getInitialConverter() const =0
Initial A2DConverter, which typically contains a default linear conversion from counts to volts based...
void setScanRate(int val)
Definition A2DSensor.h:84
void validate()
Definition A2DSensor.cc:176
size_t _badRawSamples
Counter of number of raw samples of wrong size.
Definition A2DSensor.h:274
int _maxNumChannels
Definition A2DSensor.h:160
void close()
close my associated device.
Definition A2DSensor.cc:66
bool process(const Sample *insamp, std::list< const Sample * > &results)
Create processed A2D samples.
Definition A2DSensor.cc:86
int getBipolar(int ichan) const
Get the polarity parameter for a channel.
Definition A2DSensor.h:122
int getScanRate() const
Definition A2DSensor.h:86
int getMaxNumChannels() const
Return the number of A2D channels on this device, set in the constructor.
Definition A2DSensor.h:100
virtual A2DConverter * getFinalConverter() const =0
Final A2DConverter, updated from the CalFile, and applied after the initial conversion.
OutputMode getOutputMode() const
Definition A2DSensor.h:156
CalFile * _calFile
CalFile for the final A2DConverter.
Definition A2DSensor.h:166
A2DSensor & operator=(const A2DSensor &)
No assignment.
int _prevChan
Definition A2DSensor.h:282
A2DSensor(const A2DSensor &)
No copying.
void setOutputMode(OutputMode mode)
Whether to output samples as counts, volts or engineering units.
Definition A2DSensor.h:154
virtual void getDefaultConversion(int chan, float &intercept, float &slope) const =0
Get the default linear conversion for a channel.
OutputMode
Definition A2DSensor.h:50
@ Engineering
Definition A2DSensor.h:50
@ Counts
Definition A2DSensor.h:50
@ Volts
Definition A2DSensor.h:50
virtual void setGainBipolar(int ichan, int gain, int bipolar)
Set the gain and bipolar parameters for a channel.
Definition A2DSensor.cc:79
A2DSensor(int nchan)
Sub-class constructors know how many channels are on the A2D.
Definition A2DSensor.cc:45
std::vector< A2DSampleConfig * > _sampleCfgs
Definition A2DSensor.h:236
virtual ~A2DSensor()
Definition A2DSensor.cc:55
int _scanRate
Requested A2D sample rate before decimation.
Definition A2DSensor.h:280
void open(int flags)
Open the device connected to the sensor.
Definition A2DSensor.cc:61
void init()
Definition A2DSensor.cc:71
OutputMode _outputMode
Definition A2DSensor.h:171
int getGain(int ichan) const
Get the gain for a channel.
Definition A2DSensor.h:112
std::vector< A2DSampleInfo > _sampleInfos
Definition A2DSensor.h:269
The essential core classes of nidas.
Definition A2DConverter.h:31
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
Root namespace for the NCAR In-Situ Data Acquisition Software.
Definition A2DConverter.h:31
Information for configuring a sample from an A2D.
Definition a2d.h:72