CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_1/src/L1TriggerConfig/DTTPGConfig/interface/DTConfigBti.h

Go to the documentation of this file.
00001 //-------------------------------------------------
00002 //
00011 //
00012 //--------------------------------------------------
00013 #ifndef DT_CONFIG_BTI_H
00014 #define DT_CONFIG_BTI_H
00015 
00016 //---------------
00017 // C++ Headers --
00018 //---------------
00019 
00020 //----------------------
00021 // Base Class Headers --
00022 //----------------------
00023 
00024 //------------------------------------
00025 // Collaborating Class Declarations --
00026 //------------------------------------
00027 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00028 #include "L1TriggerConfig/DTTPGConfig/interface/DTConfig.h"
00029 #include "L1TriggerConfig/DTTPGConfig/interface/BitArray.h"
00030 
00031 #include <boost/cstdint.hpp>
00032 
00033 //              ---------------------
00034 //              -- Class Interface --
00035 //              ---------------------
00036 
00037 
00038 class DTConfigBti : DTConfig {
00039 
00040   public:
00041   
00042   /*  //! constants: first and last step to start trigger finding
00043   static const unsigned int NSTEPL=24, NSTEPF=9;
00044   */
00045 
00047   DTConfigBti(const edm::ParameterSet& ps);
00048 
00050   DTConfigBti() {;}
00051 
00053   DTConfigBti(int debug, unsigned short int * buffer); 
00054    
00056   ~DTConfigBti();
00057 
00059   void setDefaults(const edm::ParameterSet& ps);  
00060 
00062   inline int debug() const { return m_debug; }
00063 
00065   inline float ST() const {
00066      return (float)( 0.75 * ST43() + 0.25 * RE43() ); }
00067 
00069   inline int  KCut() const { return m_kcut; }
00070 
00072   inline int  KAccTheta() const { return m_kacctheta; }
00073   
00075   inline bool XON() const { return m_xon; }
00076   
00078   inline int LTS() const { return m_lts; }
00079   
00081   inline int SET() const { return m_set; }
00082   
00084   inline int AccPattAC1() const { return m_ac1; }
00085   
00087   inline int  AccPattAC2() const { return m_ac2; }
00088   
00090   inline int  AccPattACH() const { return m_ach; }
00091   
00093   inline int  AccPattACL() const { return m_acl; }
00094 
00096   inline bool RONflag() const { return m_ron; }
00097 
00099   inline int PTMSflag(int patt) const { return m_pattmask.element(patt); }
00100 
00102   inline int WENflag(int wire) const { return m_wiremask.element(wire-1); }
00103 
00105   inline int LL() const { return m_ll; }
00106 
00108   inline int LH() const { return m_lh; }
00109 
00111   inline int CL() const { return m_cl; }
00112 
00114   inline int CH() const { return m_ch; }
00115 
00117   inline int RL() const { return m_rl; }
00118 
00120   inline int RH() const { return m_rh; }
00121 
00123   inline int ST43() const { return m_4st3; }
00124   inline int RE43() const { return m_4re3; }
00125 
00127   inline int DEADpar() const { return m_dead;}
00128 
00131   inline void setDebug(int debug) { m_debug=debug; }
00132 
00134   inline void setKCut(int KCut) { m_kcut=KCut; }
00135 
00137   inline void setKAccTheta(int KAccTh) { m_kacctheta=KAccTh; }
00138   
00140   inline void setXON(bool XON) { m_xon=XON; }
00141   
00143   inline void setLTS(int LTS) { m_lts=LTS; }
00144   
00146   inline void setSET(int SET) { m_set=SET; }
00147   
00149   inline void setAccPattAC1(int AC1) { m_ac1=AC1; }
00150   
00152   inline void setAccPattAC2(int AC2) { m_ac2=AC2; }
00153   
00155   inline void setAccPattACH(int ACH) { m_ach=ACH; }
00156   
00158   inline void setAccPattACL(int ACL) { m_acl=ACL; }
00159 
00161   inline void setRONflag(bool RON) { m_ron=RON; }
00162 
00164   inline void setPTMSflag(int mask, int patt) { m_pattmask.set(patt,mask); }
00165 
00167   inline void setWENflag(int mask, int wire) { m_wiremask.set(wire-1,mask); }
00168 
00170   inline void setLL(int LL) { m_ll=LL; }
00171 
00173   inline void setLH(int LH) { m_lh=LH; }
00174 
00176   inline void setCL(int CL) { m_cl=CL; }
00177 
00179   inline void setCH(int CH) { m_ch=CH; }
00180 
00182   inline void setRL(int RL) { m_rl=RL; }
00183 
00185   inline void setRH(int RH) { m_rh=RH; }
00186 
00188   inline void setST43(int ST43) { m_4st3=ST43; }
00189   inline void setRE43(int RE43) { m_4re3=RE43; }
00190 
00192   inline void setDEADpar(int DEAD) { m_dead=DEAD;}
00193  
00195   void print() const ;
00196 
00197 /*   //! Return pointer to parameter set  */
00198 /*   const edm::ParameterSet* getParameterSet() { return m_ps; } */
00199 
00200 
00201 private:
00202   //  const edm::ParameterSet* m_ps;
00203 
00204   int8_t m_debug;
00205   int8_t m_kcut;
00206   int8_t m_kacctheta;
00207   bool m_xon;
00208   int8_t m_lts;
00209   int8_t m_set;
00210   int8_t m_ac1;
00211   int8_t m_ac2;
00212   int8_t m_ach;
00213   int8_t m_acl;
00214   bool m_ron;
00215   BitArray<32> m_pattmask;
00216   BitArray<9>  m_wiremask;
00217   int8_t m_ll;
00218   int8_t m_lh;
00219   int8_t m_cl;
00220   int8_t m_ch;
00221   int8_t m_rl;
00222   int8_t m_rh;
00223   int8_t m_4st3;
00224   int8_t m_4re3;
00225   int8_t m_dead;
00226 };
00227 
00228 #endif