File indexing completed on 2025-08-06 08:17:39
0001 #ifndef INTT_BAD_CHANNEL_MAP_H
0002 #define INTT_BAD_CHANNEL_MAP_H
0003
0004 #include "InttMapping.h"
0005
0006 #include <iostream>
0007 #include <string>
0008 #include <set>
0009
0010 class CDBTTree;
0011
0012 class InttBadChannelMap
0013 {
0014 public:
0015 InttBadChannelMap() = default;
0016 virtual ~InttBadChannelMap() = default;
0017
0018 int Load(std::string const& = "INTT_HotMap");
0019
0020
0021 int LoadFromFile(std::string const& s = "InttBadChannelMap.root") {return Load(s);}
0022
0023 int LoadFromCDB(std::string const& s = "INTT_HotMap") {return Load(s);}
0024
0025 void identify(std::ostream& = std::cout) const;
0026 void Print(std::ostream& = std::cout) const;
0027 int size() const {return m_size;}
0028
0029 bool IsBad(InttNameSpace::Online_s const&) const;
0030 bool IsBad(InttNameSpace::Offline_s const&) const;
0031 bool IsBad(InttNameSpace::RawData_s const&) const;
0032
0033
0034 bool OfflineLoaded() {return m_offline_loaded;}
0035
0036
0037 bool RawDataLoaded() {return m_rawdata_loaded;}
0038
0039 protected:
0040 virtual int v_LoadFromCDBTTree(CDBTTree&);
0041
0042 private:
0043 typedef std::set<InttNameSpace::Offline_s> OfflineSet_t;
0044 typedef std::set<InttNameSpace::RawData_s> RawDataSet_t;
0045 OfflineSet_t m_offline_set;
0046 RawDataSet_t m_rawdata_set;
0047
0048 bool m_offline_loaded{false};
0049 bool m_rawdata_loaded{false};
0050
0051 int m_size{0};
0052 };
0053
0054 #endif
0055