CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/L1Trigger/DTSectorCollector/interface/DTSectCollPhSegm.h

Go to the documentation of this file.
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