Hall C ROOT/C++ Analyzer (hcana)
THcDetectorMap.h
Go to the documentation of this file.
1 #ifndef ROOT_THcDetectorMap
2 #define ROOT_THcDetectorMap
3 
5 //
6 // THcDetectorMap
7 //
9 
10 #include "TObject.h"
11 #include "THaDetMap.h"
12 #include <list>
13 
14 class THcDetectorMap : public TObject {
15 
16  public:
18  virtual ~THcDetectorMap();
19 
20  virtual void Load(const char *fname);
21  virtual Int_t FillMap(THaDetMap* detmap, const char* detectorname);
22 
23  Int_t fNchans; // Number of hardware channels
24 
25  struct Channel { // Mapping for one hardware channel
36  };
37  Channel fTable[10000]; // Big ugly cache of the map file
38 
39  struct ChaninMod {
46  };
47  struct ModChanList {
51  std::list<ChaninMod> clist;
52 
53  };
54  std::list<ModChanList> mlist;
55 
56  struct IDMap {
57  char* name;
59  };
61  Int_t fNIDs; /* Number of detector IDs */
62 
63  bool compare(const ChaninMod *first, const ChaninMod *second);
64 
65  protected:
66 
67  ClassDef(THcDetectorMap,0); // Map electronics channels to Detector, Plane, Counter, Signal
68 };
69 #endif
70 
71 
72 
virtual Int_t FillMap(THaDetMap *detmap, const char *detectorname)
std::list< ChaninMod > clist
IDMap fIDMap[50]
Channel fTable[10000]
int Int_t
Class to read and hold a Hall C style detector map.
std::list< ModChanList > mlist
virtual ~THcDetectorMap()
virtual void Load(const char *fname)
ClassDef(THcDetectorMap, 0)
bool compare(const ChaninMod *first, const ChaninMod *second)