File indexing completed on 2024-04-06 12:02:12
0001 #ifndef CondFormats_GEMObjects_GEMELMap_h
0002 #define CondFormats_GEMObjects_GEMELMap_h
0003
0004 #include "CondFormats/Serialization/interface/Serializable.h"
0005 #include <string>
0006 #include <vector>
0007
0008 class GEMROmap;
0009
0010 class GEMELMap {
0011 public:
0012 GEMELMap();
0013 explicit GEMELMap(const std::string& version);
0014
0015 virtual ~GEMELMap();
0016
0017 const std::string& version() const;
0018 void convert(GEMROmap& romap);
0019 void convertDummy(GEMROmap& romap);
0020
0021 struct GEMVFatMap {
0022 int VFATmapTypeId;
0023 std::vector<int> vfat_position;
0024 std::vector<int> z_direction;
0025 std::vector<int> iEta;
0026 std::vector<int> iPhi;
0027 std::vector<int> depth;
0028 std::vector<int> vfatType;
0029 std::vector<uint16_t> vfatId;
0030 std::vector<uint16_t> amcId;
0031 std::vector<uint16_t> gebId;
0032 std::vector<int> sec;
0033
0034 COND_SERIALIZABLE;
0035 };
0036 struct GEMStripMap {
0037 std::vector<int> vfatType;
0038 std::vector<int> vfatCh;
0039 std::vector<int> vfatStrip;
0040
0041 COND_SERIALIZABLE;
0042 };
0043
0044 std::vector<GEMVFatMap> theVFatMap_;
0045 std::vector<GEMStripMap> theStripMap_;
0046
0047 private:
0048 std::string theVersion;
0049
0050 COND_SERIALIZABLE;
0051
0052 public:
0053
0054 static const int chipIdBits_ = 12;
0055 static const int chipIdMask_ = 0xfff;
0056 static const int gebIdBits_ = 5;
0057 static const int maxGEBs_ = 24;
0058 static const int maxVFatGE0_ = 12;
0059 static const int maxVFatGE11_ = 3;
0060 static const int maxVFatGE21_ = 6;
0061 static const int maxChan_ = 128;
0062 static const int amcBX_ = 25;
0063 };
0064 #endif