Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:17:40

0001 #ifndef INTT_INTTDACMAP_H
0002 #define INTT_INTTDACMAP_H
0003 
0004 #include "InttMapping.h"
0005 
0006 #include <array>
0007 #include <string>
0008 
0009 class CDBTTree;
0010 
0011 class InttDacMap
0012 {
0013  public:
0014   InttDacMap();
0015   virtual ~InttDacMap() {}
0016 
0017   virtual int LoadFromCDB(std::string const& calibname);
0018   virtual int LoadFromFile(std::string const& filename);
0019   virtual int WriteToFile(std::string const& filename);
0020 
0021   // Access by OnlineChannel
0022   virtual unsigned short GetDAC(const uint& felix_server,
0023                                 const uint& felix_channel,
0024                                 const uint& chip,
0025                                 const uint& channel,
0026                                 const uint& adc);
0027   virtual unsigned short GetDAC(InttNameSpace::RawData_s const& rawdata, const uint& adc);
0028   virtual unsigned short GetDAC(InttNameSpace::Offline_s const& offline, const uint& adc);
0029 
0030   virtual void Verbosity(const int& verbosity) { m_verbosity = verbosity; };
0031 
0032   virtual void SetDefault(const uint& Adc0 = 15,
0033                           const uint& Adc1 = 30,
0034                           const uint& Adc2 = 60,
0035                           const uint& Adc3 = 90,
0036                           const uint& Adc4 = 120,
0037                           const uint& Adc5 = 150,
0038                           const uint& Adc6 = 180,
0039                           const uint& Adc7 = 210);
0040 
0041  protected:
0042   int LoadFromCDBTTree(CDBTTree& cdbttree);
0043   void FillToCDBTTree(CDBTTree& cdbttree);
0044 
0045  private:
0046   typedef std::array<std::array<std::array<std::array<int, 8>, 26>, 14>, 8> DacArray;
0047 
0048   DacArray m_dac{};  // [FELIX_SERVER:8][FELIX_CHANNEL:14][CHIP:26][DAC:8]
0049 
0050   int m_verbosity{0};
0051 };
0052 
0053 #endif  // INTT_INTTDACMAP_H