CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ME0ROmap.h
Go to the documentation of this file.
1 #ifndef CondFormats_GEMObjects_ME0ROmap_h
2 #define CondFormats_GEMObjects_ME0ROmap_h
4 #include <map>
5 
6 class ME0ROmap{
7  public:
8 
9  struct eCoord{
10  uint32_t vfatId;
11  int channelId;
12  bool operator < (const eCoord& r) const{
13  if ( vfatId == r.vfatId)
14  return channelId < r.channelId;
15  else
16  return vfatId < r.vfatId;
17  }
18  };
19 
20  struct dCoord{
21  int stripId;
23  bool operator < (const dCoord& r) const{
24  if ( me0DetId == r.me0DetId)
25  return stripId < r.stripId;
26  else
27  return me0DetId < r.me0DetId;
28  }
29  };
30 
31  ME0ROmap(){};
32 
33  bool isValidChipID(const eCoord& r){
34  return roMapED_.find(r) != roMapED_.end();
35  }
36  const dCoord& hitPosition(const eCoord& r){return roMapED_[r];}
37  const eCoord& hitPosition(const dCoord& r){return roMapDE_[r];}
38 
39  void add(eCoord e,dCoord d) {roMapED_[e]=d;}
40  void add(dCoord d,eCoord e) {roMapDE_[d]=e;}
41 
42  const uint32_t& gebPosition(const ME0DetId& r){return roMapDet2Geb_[r];}
43  const ME0DetId& gebPosition(const uint32_t& r){return roMapGeb2Det_[r];}
44 
45  void add(ME0DetId d,uint32_t e) {roMapDet2Geb_[d]=e;}
46  void add(uint32_t d,ME0DetId e) {roMapGeb2Det_[d]=e;}
47 
48  std::map<ME0DetId,uint32_t> getRoMap(){return roMapDet2Geb_;}
49 
50  void addAMC(uint16_t d) {amcs_.push_back(d);}
51  std::vector<uint16_t> getAMCs(){return amcs_;}
52 
53  void addAMC2GEB(uint16_t d, uint16_t c) {amc2Gebs_[d].push_back(c);}
54  std::vector<uint16_t> getAMC2GEBs(uint16_t d){return amc2Gebs_[d];}
55 
56  private:
57  std::vector<uint16_t> amcs_;
58  std::map<uint16_t,std::vector<uint16_t>> amc2Gebs_;
59 
60  std::map<eCoord,dCoord> roMapED_;
61  std::map<dCoord,eCoord> roMapDE_;
62 
63  std::map<ME0DetId,uint32_t> roMapDet2Geb_;
64  std::map<uint32_t,ME0DetId> roMapGeb2Det_;
65 
66 };
67 #endif
std::map< uint16_t, std::vector< uint16_t > > amc2Gebs_
Definition: ME0ROmap.h:58
std::vector< uint16_t > amcs_
Definition: ME0ROmap.h:57
const ME0DetId & gebPosition(const uint32_t &r)
Definition: ME0ROmap.h:43
std::map< dCoord, eCoord > roMapDE_
Definition: ME0ROmap.h:61
void add(uint32_t d, ME0DetId e)
Definition: ME0ROmap.h:46
std::map< ME0DetId, uint32_t > getRoMap()
Definition: ME0ROmap.h:48
std::map< eCoord, dCoord > roMapED_
Definition: ME0ROmap.h:60
bool operator<(const eCoord &r) const
Definition: ME0ROmap.h:12
const dCoord & hitPosition(const eCoord &r)
Definition: ME0ROmap.h:36
void addAMC(uint16_t d)
Definition: ME0ROmap.h:50
const uint32_t & gebPosition(const ME0DetId &r)
Definition: ME0ROmap.h:42
std::vector< uint16_t > getAMC2GEBs(uint16_t d)
Definition: ME0ROmap.h:54
void add(dCoord d, eCoord e)
Definition: ME0ROmap.h:40
std::map< ME0DetId, uint32_t > roMapDet2Geb_
Definition: ME0ROmap.h:63
void add(eCoord e, dCoord d)
Definition: ME0ROmap.h:39
ME0ROmap()
Definition: ME0ROmap.h:31
bool isValidChipID(const eCoord &r)
Definition: ME0ROmap.h:33
const eCoord & hitPosition(const dCoord &r)
Definition: ME0ROmap.h:37
ME0DetId me0DetId
Definition: ME0ROmap.h:22
void add(ME0DetId d, uint32_t e)
Definition: ME0ROmap.h:45
std::map< uint32_t, ME0DetId > roMapGeb2Det_
Definition: ME0ROmap.h:64
uint32_t vfatId
Definition: ME0ROmap.h:10
void addAMC2GEB(uint16_t d, uint16_t c)
Definition: ME0ROmap.h:53
std::vector< uint16_t > getAMCs()
Definition: ME0ROmap.h:51