CMS 3D CMS Logo

GEMELMap.h
Go to the documentation of this file.
1 #ifndef CondFormats_GEMObjects_GEMELMap_h
2 #define CondFormats_GEMObjects_GEMELMap_h
3 
5 #include <string>
6 #include <vector>
7 
8 class GEMROmap;
9 
10 class GEMELMap {
11 public:
12  GEMELMap();
13  explicit GEMELMap(const std::string& version);
14 
15  virtual ~GEMELMap();
16 
17  const std::string& version() const;
18  void convert(GEMROmap& romap);
19  void convertDummy(GEMROmap& romap);
20 
21  struct GEMVFatMap {
23  std::vector<int> vfat_position;
24  std::vector<int> z_direction;
25  std::vector<int> iEta;
26  std::vector<int> iPhi;
27  std::vector<int> depth;
28  std::vector<int> vfatType;
29  std::vector<uint16_t> vfatId;
30  std::vector<uint16_t> amcId;
31  std::vector<uint16_t> gebId;
32  std::vector<int> sec;
33 
35  };
36  struct GEMStripMap {
37  std::vector<int> vfatType;
38  std::vector<int> vfatCh;
39  std::vector<int> vfatStrip;
40 
42  };
43 
44  std::vector<GEMVFatMap> theVFatMap_;
45  std::vector<GEMStripMap> theStripMap_;
46 
47 private:
49 
51 
52 public:
53  // size of ID bits
54  static const int chipIdBits_ = 12; // ID size from VFat
55  static const int chipIdMask_ = 0xfff; // chipId mask for 12 bits
56  static const int gebIdBits_ = 5; // ID size from GEB
57  static const int maxGEBs_ = 24; // 24 gebs per amc
58  static const int maxVFatGE0_ = 12; // vFat per eta partition, not known yet for ME0
59  static const int maxVFatGE11_ = 3; // vFat per eta partition in GE11
60  static const int maxVFatGE21_ = 6; // vFat per eta partition in GE21
61  static const int maxChan_ = 128; // channels per vFat
62  static const int amcBX_ = 25; // amc BX to get strip bx
63 };
64 #endif // GEMELMap_H
std::vector< int > vfatType
Definition: GEMELMap.h:37
virtual ~GEMELMap()
Definition: GEMELMap.cc:9
const std::string & version() const
Definition: GEMELMap.cc:11
std::vector< int > vfat_position
Definition: GEMELMap.h:23
static const int chipIdBits_
Definition: GEMELMap.h:54
std::vector< uint16_t > amcId
Definition: GEMELMap.h:30
std::vector< int > z_direction
Definition: GEMELMap.h:24
static const int maxVFatGE0_
Definition: GEMELMap.h:58
std::vector< int > vfatType
Definition: GEMELMap.h:28
static const int maxVFatGE21_
Definition: GEMELMap.h:60
static const int chipIdMask_
Definition: GEMELMap.h:55
static const int maxChan_
Definition: GEMELMap.h:61
std::vector< GEMVFatMap > theVFatMap_
Definition: GEMELMap.h:44
void convertDummy(GEMROmap &romap)
Definition: GEMELMap.cc:48
static const int amcBX_
Definition: GEMELMap.h:62
std::vector< int > vfatStrip
Definition: GEMELMap.h:39
std::vector< uint16_t > gebId
Definition: GEMELMap.h:31
static const int maxGEBs_
Definition: GEMELMap.h:57
static const int maxVFatGE11_
Definition: GEMELMap.h:59
std::vector< uint16_t > vfatId
Definition: GEMELMap.h:29
static const int gebIdBits_
Definition: GEMELMap.h:56
#define COND_SERIALIZABLE
Definition: Serializable.h:38
std::string theVersion
Definition: GEMELMap.h:48
std::vector< int > sec
Definition: GEMELMap.h:32
std::vector< int > vfatCh
Definition: GEMELMap.h:38
std::vector< int > depth
Definition: GEMELMap.h:27
std::vector< int > iPhi
Definition: GEMELMap.h:26
GEMELMap()
Definition: GEMELMap.cc:5
std::vector< GEMStripMap > theStripMap_
Definition: GEMELMap.h:45
std::vector< int > iEta
Definition: GEMELMap.h:25
void convert(GEMROmap &romap)
Definition: GEMELMap.cc:13