QEleConverter.hh

Go to the documentation of this file.
00001 
00010 #ifndef __QELE_CONVERTER_HH_
00011 #define __QELE_CONVERTER_HH_
00012 
00013 #include "QCuore.hh"
00014 
00015 #include <map>
00016 
00017 class QEleConverter {
00018 
00019 public:
00020 
00022    static QEleConverter& GetInstance();
00023 
00025    virtual ~QEleConverter();
00026 
00028    void SetExternalBias(float bias) {if(bias >= 0) fExternalBias = bias; }
00029 
00031    float GetExternalBias() const { return fExternalBias; }
00032 
00041    short GetBinaryBias(float realBias) const;
00042    
00047    float GetRealBias(unsigned short binaryBias) const;
00048    
00056    short GetBinaryGain(float realGain) const;
00057    
00062    float GetRealGain(unsigned short binaryGain) const;
00063 
00072    short GetBinaryResistance(float realResistance) const;
00073    
00078    float GetRealResistance(unsigned short binaryResistance) const;
00079 
00080 
00085    float GetRealCutFrequency(unsigned short binaryCutFreq) const;
00086 
00087 
00109    float GetRealOffset(const unsigned short dacLow,
00110                        const unsigned short dacHi,
00111                        const bool           polarity,
00112                        const bool           sBit) const;
00113 private:
00114    QEleConverter();
00115    
00120    float fExternalBias;
00121    
00122    std::map<unsigned short,float> fBinaryBiasMap;
00123    std::map<unsigned short,float> fBinaryGainMap;
00124    std::map<unsigned short,float> fBinaryResistanceMap;
00125    std::map<unsigned short,float> fBinaryCutFreq;
00126   
00127    std::map<float,unsigned short> fRealBiasMap;
00128    std::map<float,unsigned short> fRealGainMap;
00129    std::map<float,unsigned short> fRealResistanceMap;
00130  
00131 };
00132 
00133 #endif //__QELE_CONVERTER_HH_

Generated on Fri Mar 6 13:40:39 2009 for CUORE Software by  doxygen 1.5.1