Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:02:20

0001 #ifndef CondFormats_L1TObjects_L1RPCConeDefinition_h
0002 #define CondFormats_L1TObjects_L1RPCConeDefinition_h
0003 
0004 #include "CondFormats/Serialization/interface/Serializable.h"
0005 
0006 #include <vector>
0007 
0008 class L1RPCConeDefinition {
0009 public:
0010   //  For logplane sizes

0011   //typedef std::vector<int> TLogPlaneSize;

0012   //typedef std::vector<TLogPlaneSize > TLPSizesInTowers;

0013   struct TLPSize {
0014     //      TLPSize(signed char t, signed char lp, unsigned char size) :

0015     //          m_tower(t), m_LP(lp), m_size(size) {};

0016     signed char m_tower;
0017     signed char m_LP;
0018     unsigned char m_size;
0019 
0020     COND_SERIALIZABLE;
0021   };
0022   typedef std::vector<TLPSize> TLPSizeVec;
0023 
0024   // For (roll,hwplane)->tower mapping

0025   /*

0026     typedef std::vector<int> TTowerList;

0027     typedef std::vector<TTowerList > THWplaneToTower;

0028     typedef std::vector<THWplaneToTower > TRingsToTowers;*/
0029 
0030   struct TRingToTower {
0031     //      TRingToTower(signed char ep, signed char hp, signed char t, unsigned char i) :

0032     //        m_etaPart(ep), m_hwPlane(hp), m_tower(t), m_index(i) {};

0033     signed char m_etaPart;
0034     signed char m_hwPlane;
0035     signed char m_tower;
0036     unsigned char m_index;
0037 
0038     COND_SERIALIZABLE;
0039   };
0040   typedef std::vector<TRingToTower> TRingToTowerVec;
0041 
0042   // For (roll,hwplane)->logplane mapping

0043 
0044   /*

0045     typedef std::vector<int> TLPList;

0046     typedef std::vector<TLPList > THWplaneToLP;

0047     typedef std::vector<THWplaneToLP > TRingsToLP;

0048     */
0049 
0050   struct TRingToLP {
0051     //      TRingToLP(signed char ep, signed char hp, signed char lp, unsigned char i) :

0052     //          m_etaPart(ep), m_hwPlane(hp), m_LP(lp), m_index(i) {};

0053     signed char m_etaPart;
0054     signed char m_hwPlane;
0055     signed char m_LP;
0056     unsigned char m_index;
0057 
0058     COND_SERIALIZABLE;
0059   };
0060   typedef std::vector<TRingToLP> TRingToLPVec;
0061 
0062   //int getLPSize(int tower) const {return m_LPSizesInTowers.at(tower);};

0063   //const TLPSizesInTowers &  getLPSizes() const { return m_LPSizesInTowers;};

0064 
0065   void setFirstTower(int tow) { m_firstTower = tow; };
0066   void setLastTower(int tow) { m_lastTower = tow; };
0067 
0068   /*

0069     void setLPSizeForTowers(const TLPSizesInTowers & lpSizes) { m_LPSizesInTowers = lpSizes;};

0070     const TLPSizesInTowers & getLPSizeForTowers() const { return m_LPSizesInTowers;};

0071     */
0072   void setLPSizeVec(const TLPSizeVec& lpSizes) { m_LPSizeVec = lpSizes; };
0073   const TLPSizeVec& getLPSizeVec() const { return m_LPSizeVec; };
0074 
0075   /*

0076     void setRingsToTowers(const TRingsToTowers & RingsToTowers) { m_RingsToTowers = RingsToTowers;};

0077     const TRingsToTowers & getRingsToTowers() const { return m_RingsToTowers;};*/
0078   void setRingToTowerVec(const TRingToTowerVec& ringToTowerVec) { m_ringToTowerVec = ringToTowerVec; };
0079   const TRingToTowerVec& getRingToTowerVec() const { return m_ringToTowerVec; };
0080 
0081   /*

0082     void setRingsToLP(const TRingsToLP & RingsToLP) {m_RingsToLP = RingsToLP;};

0083     const TRingsToLP & getRingsToLP() const {return m_RingsToLP;};

0084   */
0085   void setRingToLPVec(const TRingToLPVec& ringToLPVec) { m_ringToLPVec = ringToLPVec; };
0086   const TRingToLPVec& getRingToLPVec() const { return m_ringToLPVec; };
0087 
0088 private:
0089   int m_firstTower;
0090   int m_lastTower;
0091   //TLPSizesInTowers m_LPSizesInTowers;

0092   TLPSizeVec m_LPSizeVec;
0093   //TRingsToTowers m_RingsToTowers;

0094   TRingToTowerVec m_ringToTowerVec;
0095 
0096   //TRingsToLP m_RingsToLP;

0097   TRingToLPVec m_ringToLPVec;
0098 
0099   COND_SERIALIZABLE;
0100 };
0101 
0102 #endif