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_

Generated on Tue Nov 16 10:49:56 2010 for CUORE Software by  doxygen 1.5.6