CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/L1Trigger/DTBti/interface/DTBtiTrigData.h

Go to the documentation of this file.
00001 //-------------------------------------------------
00002 //
00016 //
00017 //--------------------------------------------------
00018 #ifndef DT_BTI_TRIG_DATA_H
00019 #define DT_BTI_TRIG_DATA_H
00020 
00021 //------------------------------------
00022 // Collaborating Class Declarations --
00023 //------------------------------------
00024 #include "DataFormats/MuonDetId/interface/DTBtiId.h"
00025 
00026 //----------------------
00027 // Base Class Headers --
00028 //----------------------
00029 #include "L1Trigger/DTUtilities/interface/DTTrigData.h"
00030 
00031 //---------------
00032 // C++ Headers --
00033 //---------------
00034 
00035 //              ---------------------
00036 //              -- Class Interface --
00037 //              ---------------------
00038 
00039 typedef unsigned char myint8;
00040 
00041 class DTBtiTrigData : public DTTrigData {
00042 
00043  public:
00044 
00046   DTBtiTrigData() {}
00047   
00049   ~DTBtiTrigData() {}
00050 
00052   inline void setParent(DTBtiId btiid) {
00053     _btiid = btiid; 
00054   }  
00055 
00057   inline void setStep(int step) {
00058     _step = step;
00059   }
00060 
00062   inline void setCode(int code) {
00063     _code = code;
00064   }
00065 
00067   inline void setK(int k) {
00068     _Kval = k; 
00069   }
00070 
00072   inline void setX(int x) {
00073     _Xval = x;
00074   }
00075 
00077   inline void setEq(int eq) {
00078     _eq = eq;
00079   }
00080 
00082   inline void setStrobe(int str) {
00083     _str = str;
00084   }
00085 
00087   inline void setKeq(int num, float Keq) {
00088     _Keq[num] = Keq;
00089   }
00090 
00092   void clear() {
00093     _step = 0;
00094     _eq = 0;
00095     _code = 0; 
00096     _Kval = 9999; 
00097     _Xval = 0;
00098     _str = -1;
00099     for(int j=0;j<6;j++)
00100         _Keq[j]=-1;
00101   }  
00102 
00104   DTChamberId ChamberId() const {
00105     return DTChamberId(_btiid.wheel(),_btiid.station(),_btiid.sector()); 
00106   }
00107 
00109   void print() const;
00110 
00112   inline DTBtiId parentId() const { 
00113     return _btiid; 
00114   }
00115   
00117   inline DTSuperLayerId SLId() const {
00118     return _btiid.SLId(); 
00119   }
00120 
00122   inline int btiNumber() const { 
00123     return _btiid.bti(); 
00124   }
00125   
00127   inline int btiSL() const { 
00128     return _btiid.superlayer(); 
00129   }
00130   
00132   inline int step() const { 
00133     return _step; 
00134   }
00135 
00137   inline int code() const { 
00138     return _code; 
00139   }
00140   
00142   inline int K() const { 
00143     return _Kval; 
00144   }
00145   
00147   inline int X() const { 
00148     return _Xval; 
00149   }
00150 
00152   inline int eq() const { 
00153     return _eq; 
00154   }
00155 
00157   inline int Strobe() const{ 
00158     return _str; 
00159   }
00160 
00162   inline float Keq(int i) const { 
00163     return _Keq[i]; 
00164   }
00165 
00166  private:
00167 
00168   // Parent BTI identifier
00169   DTBtiId _btiid; // this is 5 bytes
00170 
00171   // output values
00172   myint8 _code;
00173   int _Kval;
00174   myint8 _Xval;
00175 
00176   myint8 _step;
00177   myint8 _eq;
00178   int _str;
00179   float _Keq[6];
00180 
00181 };
00182 
00183 #endif