QEleConverter.hh
Go to the documentation of this file.00001
00002 #ifndef __QELE_CONVERTER_HH_
00003 #define __QELE_CONVERTER_HH_
00004
00005 #include "QCuore.hh"
00006
00007 #include <map>
00008
00015 class QEleConverter
00016 {
00017
00018 public:
00019
00021 static QEleConverter& GetInstance();
00022
00024 virtual ~QEleConverter();
00025
00027 void SetExternalBias(float bias) {if(bias >= 0) fExternalBias = bias; }
00028
00030 float GetExternalBias() const { return fExternalBias; }
00031
00040 int GetBinaryBias(float realBias) const;
00041
00046 float GetRealBias(unsigned int binaryBias) const;
00047
00055 int GetBinaryGain(float realGain) const;
00056
00061 float GetRealGain(unsigned int binaryGain) const;
00062
00071 int GetBinaryResistance(float realResistance) const;
00072
00077 float GetRealResistance(unsigned int binaryResistance) const;
00078
00079
00084 float GetRealCutFrequency(unsigned int binaryCutFreq) const;
00085
00086
00108 float GetRealOffset(const unsigned int dacLow,
00109 const unsigned int dacHi,
00110 const bool polarity,
00111 const bool sBit) const;
00112 private:
00113 QEleConverter();
00114
00119 float fExternalBias;
00120
00121 std::map<unsigned int,float> fBinaryBiasMap;
00122 std::map<unsigned int,float> fBinaryGainMap;
00123 std::map<unsigned int,float> fBinaryResistanceMap;
00124 std::map<unsigned int,float> fBinaryCutFreq;
00125
00126 std::map<float,unsigned int> fRealBiasMap;
00127 std::map<float,unsigned int> fRealGainMap;
00128 std::map<float,unsigned int> fRealResistanceMap;
00129
00130 };
00131
00132 #endif //__QELE_CONVERTER_HH_