DUECA/DUSIME
Loading...
Searching...
No Matches
Public Member Functions | List of all members
InputCalibrator< T, R > Class Template Reference

Class that performs calibration and scaling of an incoming integer value from an A/D converter or other input device. More...

#include <InputCalibrator.hxx>

Public Member Functions

 InputCalibrator (const R in_min, const R in_max, const T &c, unsigned int idx=0)
 Constructor.
 
 ~InputCalibrator ()
 Destructor.
 
 operator double () const
 Obtain the converted value.
 
R raw () const
 Obtain the raw integer value.
 
void newConversion (const R i)
 Insert a new converted value into the calibrator.
 
R bitDifference (const double r) const
 Return the difference between the given value and the measured value in bit domain.
 
unsigned int index () const
 The index is a variable for user convenience, e.g.
 
std::ostream & print (std::ostream &os) const
 Print to stream, for debugging purposes.
 

Detailed Description

template<class T, class R = int>
class InputCalibrator< T, R >

Class that performs calibration and scaling of an incoming integer value from an A/D converter or other input device.

It is a templated class, and the template parameter must be a class capable of scaling the incoming values.

Constructor & Destructor Documentation

◆ InputCalibrator()

template<class T , class R = int>
InputCalibrator< T, R >::InputCalibrator ( const R  in_min,
const R  in_max,
const T &  c,
unsigned int  idx = 0 
)

Constructor.

Takes a converter as argument.

Parameters
in_minMinimum integer value
in_maxMaximum integer value
cConverter of (template) type T, the operation operator() (const double x) should exist for values between in_min and in_max, and should produce the required converted/scaled value.
idxOptional index to be stored with the calibrator.

Member Function Documentation

◆ bitDifference()

template<class T , class R = int>
R InputCalibrator< T, R >::bitDifference ( const double  r) const

Return the difference between the given value and the measured value in bit domain.

Parameters
rValue for comparison
Returns
  • 0 if the difference is 1 bit or less
  • 1 if the value is two bits larger
  • -1 if the value is two bits smaller
  • 2 respectively -2 if the value is three bits or more larger or smaller.

◆ index()

template<class T , class R = int>
unsigned int InputCalibrator< T, R >::index ( ) const
inline

The index is a variable for user convenience, e.g.

to remember where in an array of raw data the input value is stored.


The documentation for this class was generated from the following file: