CMS 3D CMS Logo

ME0EMap.h
Go to the documentation of this file.
1 #ifndef CondFormats_GEMObjects_ME0EMap_h
2 #define CondFormats_GEMObjects_ME0EMap_h
3 
5 #include <string>
6 #include <vector>
7 
8 class ME0ROmap;
9 
10 class ME0EMap {
11  public:
12  ME0EMap();
13  explicit ME0EMap(const std::string & version);
14 
15  virtual ~ME0EMap();
16 
17  const std::string & version() const;
18  ME0ROmap* convert() const;
19  ME0ROmap* convertDummy() const;
20 
21  struct ME0EMapItem {
22  int ChamberID;
23  std::vector<int> VFatIDs;
24  std::vector<int> positions;
25 
27  };
28  struct ME0VFatMaptype {
30  std::vector<int> vfat_position;
31  std::vector<int> z_direction;
32  std::vector<int> iEta;
33  std::vector<int> iPhi;
34  std::vector<int> depth;
35  std::vector<int> strip_number;
36  std::vector<int> vfat_chnnel_number;
37  std::vector<uint16_t> vfatId;
38  std::vector<int> sec;
39 
41  };
42  struct ME0VFatMapInPos {
43  int position;
45 
47  };
48 
49  std::vector<ME0EMapItem> theEMapItem;
50  std::vector<ME0VFatMaptype> theVFatMaptype;
51  std::vector<ME0VFatMapInPos> theVFatMapInPos;
52 
53  private:
55 
57 
58  // size of ID bits
59  static const int chipIdBits_ = 12; // ID size from VFat
60  static const int chipIdMask_ = 0xfff; // chipId mask for 12 bits
61  static const int gebIdBits_ = 5; // ID size from GEB
62  static const int maxGEBs_ = 24; // 24 gebs per amc
63  static const int maxVFat_ = 12; // vFat per eta partition, not known yet for ME0
64  static const int maxChan_ = 128; // channels per vFat
65 };
66 #endif // ME0EMap_H
std::vector< int > vfat_position
Definition: ME0EMap.h:30
static const int chipIdBits_
Definition: ME0EMap.h:59
ME0ROmap * convert() const
Definition: ME0EMap.cc:17
std::vector< uint16_t > vfatId
Definition: ME0EMap.h:37
ME0ROmap * convertDummy() const
Definition: ME0EMap.cc:35
std::vector< int > depth
Definition: ME0EMap.h:34
static const int maxChan_
Definition: ME0EMap.h:64
std::vector< ME0VFatMaptype > theVFatMaptype
Definition: ME0EMap.h:50
static const int maxVFat_
Definition: ME0EMap.h:63
std::vector< int > vfat_chnnel_number
Definition: ME0EMap.h:36
virtual ~ME0EMap()
Definition: ME0EMap.cc:11
std::vector< int > VFatIDs
Definition: ME0EMap.h:23
std::vector< int > iEta
Definition: ME0EMap.h:32
const std::string & version() const
Definition: ME0EMap.cc:13
std::string theVersion
Definition: ME0EMap.h:54
ME0EMap()
Definition: ME0EMap.cc:5
static const int chipIdMask_
Definition: ME0EMap.h:60
static const int gebIdBits_
Definition: ME0EMap.h:61
#define COND_SERIALIZABLE
Definition: Serializable.h:38
std::vector< int > strip_number
Definition: ME0EMap.h:35
std::vector< int > z_direction
Definition: ME0EMap.h:31
static const int maxGEBs_
Definition: ME0EMap.h:62
std::vector< ME0EMapItem > theEMapItem
Definition: ME0EMap.h:49
std::vector< int > sec
Definition: ME0EMap.h:38
std::vector< int > iPhi
Definition: ME0EMap.h:33
std::vector< int > positions
Definition: ME0EMap.h:24
std::vector< ME0VFatMapInPos > theVFatMapInPos
Definition: ME0EMap.h:51