00001 #ifndef CondFormats_L1TObjects_L1RPCConeDefinition_h 00002 #define CondFormats_L1TObjects_L1RPCConeDefinition_h 00003 00004 #include <vector> 00005 00006 class L1RPCConeDefinition { 00007 00008 00009 00010 public: 00011 // For logplane sizes 00012 //typedef std::vector<int> TLogPlaneSize; 00013 //typedef std::vector<TLogPlaneSize > TLPSizesInTowers; 00014 struct TLPSize { 00015 // TLPSize(signed char t, signed char lp, unsigned char size) : 00016 // m_tower(t), m_LP(lp), m_size(size) {}; 00017 signed char m_tower; 00018 signed char m_LP; 00019 unsigned char m_size; 00020 }; 00021 typedef std::vector<TLPSize> TLPSizeVec; 00022 00023 00024 00025 // For (roll,hwplane)->tower mapping 00026 /* 00027 typedef std::vector<int> TTowerList; 00028 typedef std::vector<TTowerList > THWplaneToTower; 00029 typedef std::vector<THWplaneToTower > TRingsToTowers;*/ 00030 00031 struct TRingToTower { 00032 // TRingToTower(signed char ep, signed char hp, signed char t, unsigned char i) : 00033 // m_etaPart(ep), m_hwPlane(hp), m_tower(t), m_index(i) {}; 00034 signed char m_etaPart; 00035 signed char m_hwPlane; 00036 signed char m_tower; 00037 unsigned char m_index; 00038 }; 00039 typedef std::vector<TRingToTower> TRingToTowerVec; 00040 00041 // For (roll,hwplane)->logplane mapping 00042 00043 /* 00044 typedef std::vector<int> TLPList; 00045 typedef std::vector<TLPList > THWplaneToLP; 00046 typedef std::vector<THWplaneToLP > TRingsToLP; 00047 */ 00048 00049 struct TRingToLP { 00050 // TRingToLP(signed char ep, signed char hp, signed char lp, unsigned char i) : 00051 // m_etaPart(ep), m_hwPlane(hp), m_LP(lp), m_index(i) {}; 00052 signed char m_etaPart; 00053 signed char m_hwPlane; 00054 signed char m_LP; 00055 unsigned char m_index; 00056 }; 00057 typedef std::vector<TRingToLP> TRingToLPVec; 00058 00059 00060 00061 00062 //int getLPSize(int tower) const {return m_LPSizesInTowers.at(tower);}; 00063 //const TLPSizesInTowers & getLPSizes() const { return m_LPSizesInTowers;}; 00064 00065 void setFirstTower(int tow) {m_firstTower = tow;}; 00066 void setLastTower(int tow) {m_lastTower = tow;}; 00067 00068 /* 00069 void setLPSizeForTowers(const TLPSizesInTowers & lpSizes) { m_LPSizesInTowers = lpSizes;}; 00070 const TLPSizesInTowers & getLPSizeForTowers() const { return m_LPSizesInTowers;}; 00071 */ 00072 void setLPSizeVec(const TLPSizeVec & lpSizes) { m_LPSizeVec = lpSizes;}; 00073 const TLPSizeVec & getLPSizeVec() const { return m_LPSizeVec;}; 00074 00075 /* 00076 void setRingsToTowers(const TRingsToTowers & RingsToTowers) { m_RingsToTowers = RingsToTowers;}; 00077 const TRingsToTowers & getRingsToTowers() const { return m_RingsToTowers;};*/ 00078 void setRingToTowerVec(const TRingToTowerVec & ringToTowerVec) 00079 { m_ringToTowerVec = ringToTowerVec;}; 00080 const TRingToTowerVec & getRingToTowerVec() const { return m_ringToTowerVec;}; 00081 00082 00083 /* 00084 void setRingsToLP(const TRingsToLP & RingsToLP) {m_RingsToLP = RingsToLP;}; 00085 const TRingsToLP & getRingsToLP() const {return m_RingsToLP;}; 00086 */ 00087 void setRingToLPVec(const TRingToLPVec & ringToLPVec) {m_ringToLPVec = ringToLPVec;}; 00088 const TRingToLPVec & getRingToLPVec() const {return m_ringToLPVec;}; 00089 00090 00091 private: 00092 00093 int m_firstTower; 00094 int m_lastTower; 00095 //TLPSizesInTowers m_LPSizesInTowers; 00096 TLPSizeVec m_LPSizeVec; 00097 //TRingsToTowers m_RingsToTowers; 00098 TRingToTowerVec m_ringToTowerVec; 00099 00100 00101 //TRingsToLP m_RingsToLP; 00102 TRingToLPVec m_ringToLPVec; 00103 00104 00105 00106 00107 00108 00109 }; 00110 00111 00112 00113 #endif