QHeaterDecoder.hh

00001 #ifndef _Q_HEATER_DECODER_HH_
00002 #define _Q_HEATER_DECODER_HH_
00003 
00004 #include "QCuore.hh"
00005 #include <list>
00006 #include <map>
00007 
00008 class QHeaterDecoder
00009 {
00010 public:
00012    static QHeaterDecoder& GetInstance();
00013 
00015    virtual ~QHeaterDecoder();
00016 
00023    void SetVersion(int version);
00024 
00025    bool SetWords(const std::list<unsigned long>& words);
00026 
00027    virtual int GetPulseId() const     { return fPulseId; }
00028    virtual int GetConfId() const      { return fConfId; }
00029    virtual int GetAmplitude() const   { return fAmplitude; }
00030    virtual int GetDuration() const    { return fDuration; }
00031    virtual int GetAttenuation() const { return fAttenuation; }
00032 
00033 private:
00034    int fVersion;
00035    
00036    int fPulseId;
00037    int fConfId;
00038    int fAmplitude;
00039    int fDuration;
00040    int fAttenuation;
00041 
00047    std::map<unsigned int, unsigned int> fPulseIdMap;
00048    void FillPulsersMap();
00049 
00051    QHeaterDecoder();
00052 
00053    void Reset();
00054 
00055    bool SetWords_v0(const std::list<unsigned long>& words);
00056    bool SetWords_v1(const std::list<unsigned long>& words);
00057    bool SetWords_v2(const std::list<unsigned long>& words);
00058 };
00059 
00060 #endif

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