CMS 3D CMS Logo

GEMEMap.h
Go to the documentation of this file.
1 #ifndef CondFormats_GEMObjects_GEMEMap_h
2 #define CondFormats_GEMObjects_GEMEMap_h
3 
5 #include <string>
6 #include <vector>
7 
8 class GEMROmap;
9 
10 class GEMEMap {
11  public:
12  GEMEMap();
13  explicit GEMEMap(const std::string & version);
14 
15  virtual ~GEMEMap();
16 
17  const std::string & version() const;
18  GEMROmap* convert() const;
19  GEMROmap* convertDummy() const;
20 
21  struct GEMEMapItem {
22  int ChamberID;
23  std::vector<int> VFatIDs;
24  std::vector<int> positions;
25 
27  };
28  struct GEMVFatMaptype {
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 GEMVFatMapInPos {
43  int position;
45 
47  };
48 
49  std::vector<GEMEMapItem> theEMapItem;
50  std::vector<GEMVFatMaptype> theVFatMaptype;
51  std::vector<GEMVFatMapInPos> 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 maxVFatGE11_= 3; // vFat per eta partition in GE11
64  static const int maxVFatGE21_= 6; // vFat per eta partition in GE21
65  static const int maxChan_ = 128; // channels per vFat
66 };
67 #endif // GEMEMap_H
std::vector< GEMVFatMapInPos > theVFatMapInPos
Definition: GEMEMap.h:51
std::vector< GEMVFatMaptype > theVFatMaptype
Definition: GEMEMap.h:50
virtual ~GEMEMap()
Definition: GEMEMap.cc:11
static const int chipIdBits_
Definition: GEMEMap.h:59
std::vector< int > VFatIDs
Definition: GEMEMap.h:23
std::vector< int > iEta
Definition: GEMEMap.h:32
std::vector< int > vfat_position
Definition: GEMEMap.h:30
static const int chipIdMask_
Definition: GEMEMap.h:60
std::vector< int > strip_number
Definition: GEMEMap.h:35
static const int maxVFatGE21_
Definition: GEMEMap.h:64
std::vector< int > depth
Definition: GEMEMap.h:34
static const int maxGEBs_
Definition: GEMEMap.h:62
std::vector< int > iPhi
Definition: GEMEMap.h:33
std::vector< int > positions
Definition: GEMEMap.h:24
GEMROmap * convert() const
Definition: GEMEMap.cc:17
static const int maxChan_
Definition: GEMEMap.h:65
std::vector< int > sec
Definition: GEMEMap.h:38
static const int maxVFatGE11_
Definition: GEMEMap.h:63
#define COND_SERIALIZABLE
Definition: Serializable.h:38
std::vector< int > z_direction
Definition: GEMEMap.h:31
std::string theVersion
Definition: GEMEMap.h:54
std::vector< GEMEMapItem > theEMapItem
Definition: GEMEMap.h:49
std::vector< uint16_t > vfatId
Definition: GEMEMap.h:37
std::vector< int > vfat_chnnel_number
Definition: GEMEMap.h:36
GEMEMap()
Definition: GEMEMap.cc:5
GEMROmap * convertDummy() const
Definition: GEMEMap.cc:41
const std::string & version() const
Definition: GEMEMap.cc:13
static const int gebIdBits_
Definition: GEMEMap.h:61