Back to home page

sPhenix code displayed by LXR

 
 

    


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"); // Should match CDB tag
0019 
0020   /// Depreciated; use int Load(const& std::string)
0021   int LoadFromFile(std::string const& s = "InttBadChannelMap.root") {return Load(s);}
0022   /// Depreciated; use int Load(const& std::string)
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   /// If the calibration has been loaded using offline indexing conventions
0034   bool OfflineLoaded() {return m_offline_loaded;}
0035 
0036   /// If the calibration has been loaded using rawdata indexing conventions
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  // INTT_BAD_CHANNEL_MAP_H
0055