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
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{};
0049
0050 int m_verbosity{0};
0051 };
0052
0053 #endif