00001 //------------------------------------------------- 00002 // 00013 // 00014 //-------------------------------------------------- 00015 #ifndef DT_SECT_COLL_PH_SEGM_H 00016 #define DT_SECT_COLL_PH_SEGM_H 00017 00018 //------------------------------------ 00019 // Collaborating Class Declarations -- 00020 //------------------------------------ 00021 00022 //---------------------- 00023 // Base Class Headers -- 00024 //---------------------- 00025 #include "DataFormats/MuonDetId/interface/DTChamberId.h" 00026 #include "DataFormats/MuonDetId/interface/DTSectCollId.h" 00027 #include "L1Trigger/DTTriggerServerPhi/interface/DTChambPhSegm.h" 00028 #include "L1Trigger/DTUtilities/interface/DTTrigData.h" 00029 00030 //--------------- 00031 // C++ Headers -- 00032 //--------------- 00033 #include <vector> 00034 // --------------------- 00035 // -- Class Interface -- 00036 // --------------------- 00037 00038 typedef unsigned char myint8; 00039 00040 class DTSectCollPhSegm : public DTTrigData { 00041 00042 public: 00043 00045 DTSectCollPhSegm(DTSectCollId scId, int step); 00046 00048 DTSectCollPhSegm(DTSectCollId scId, int step, 00049 const DTChambPhSegm* tsPhiTrig, int isFirst); 00051 DTSectCollPhSegm(const DTSectCollPhSegm&); 00052 00054 ~DTSectCollPhSegm(); 00055 00056 // Non-const methods 00057 00059 DTSectCollPhSegm& operator=(const DTSectCollPhSegm& seg); 00060 00062 inline void setTsPhiTrig(const DTChambPhSegm* tsphitrig, int isFirst) { 00063 m_tsphitrig=tsphitrig; 00064 m_isFirst=isFirst; 00065 } 00066 00068 void clear(); 00069 00070 // Const methods 00071 00072 // //! Return associated TRACO trigger 00073 // inline const DTTracoTrigData* tracoTrig() const { return m_tsphitrig->TracoTrigData(); } 00074 00076 inline const DTChambPhSegm* tsPhiTrig() const { return m_tsphitrig; } 00077 00079 inline int step() const { return m_step; } 00080 00082 DTSectCollId SCId() const { return m_sectcollid; } 00083 00085 DTChamberId ChamberId() const { return m_tsphitrig->ChamberId(); } 00086 00088 void print() const; 00089 00091 inline int tracoNumber() const { return m_tsphitrig->tracoNumber(); } 00092 00094 inline int isFirst() const { return m_isFirst==1; } 00095 00097 int code() const { return m_tsphitrig->code(); } 00098 00100 inline int oldCode() const { return m_tsphitrig->oldCode(); } 00101 00103 inline float K() const { return m_tsphitrig->K(); } 00104 00106 inline float X() const { return m_tsphitrig->X(); } 00107 00109 inline int psi() const { return m_tsphitrig->psi(); } 00110 00112 inline int psiR() const { return m_tsphitrig->psiR(); } 00113 00115 inline int phi() const { return m_tsphitrig->psiR(); } 00116 00118 inline int DeltaPsiR() const { return m_tsphitrig->DeltaPsiR(); } 00119 00121 inline int phiB() const { return m_tsphitrig->DeltaPsiR(); } 00122 00124 inline int posMask() const { return m_tsphitrig->posMask(); } 00125 00127 inline int pvCode() const { return m_tsphitrig->pvCode(); } 00128 00130 inline int pvK() const { return m_tsphitrig->pvK(); } 00131 00132 private: 00133 // parent sectcoll 00134 DTSectCollId m_sectcollid; 00135 00136 // step number 00137 myint8 m_step; 00138 00139 // first or second track 00140 myint8 m_isFirst; 00141 00142 // the corresponding traco trigger 00143 const DTChambPhSegm* m_tsphitrig; 00144 00145 }; 00146 #endif