CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/L1TriggerConfig/DTTPGConfig/interface/DTConfigTraco.h

Go to the documentation of this file.
00001 //-------------------------------------------------
00002 //
00012 //
00013 //--------------------------------------------------
00014 #ifndef DT_CONFIG_TRACO_H
00015 #define DT_CONFIG_TRACO_H
00016 
00017 //---------------
00018 // C++ Headers --
00019 //---------------
00020 
00021 //----------------------
00022 // Base Class Headers --
00023 //----------------------
00024 
00025 //------------------------------------
00026 // Collaborating Class Declarations --
00027 //------------------------------------
00028 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00029 #include "L1TriggerConfig/DTTPGConfig/interface/DTConfig.h"
00030 #include "L1TriggerConfig/DTTPGConfig/interface/BitArray.h"
00031 
00032 #include <boost/cstdint.hpp>
00033 
00034 //              ---------------------
00035 //              -- Class Interface --
00036 //              ---------------------
00037 
00038 
00039 class DTConfigTraco : public DTConfig {
00040 
00041   public:
00042 
00044   static const int RESOLPSI=512;    
00046   static const int RESOLPSIR=4096;
00048   static const int NMAXCAND;
00049 
00050 
00052   DTConfigTraco(const edm::ParameterSet& ps);
00053 
00055   DTConfigTraco() {};
00056 
00058   DTConfigTraco(int debug, unsigned short int * buffer);
00059 
00061   ~DTConfigTraco();
00062 
00064   void setDefaults(const edm::ParameterSet& ps);
00065 
00067   inline int debug() const { return m_debug; }
00068 
00070   inline int KRAD() const { return m_krad;}
00071 
00073   inline int BTIC() const { return m_btic;}
00074 
00076   inline int DD() const { return m_dd;}
00077 
00079   inline int  TcReuse(int i) const {
00080     if(i==0)
00081       return m_reusei;
00082     else
00083       return m_reuseo;
00084   }
00085 
00087   inline int singleHflag(int i) const {
00088     if(i==0)
00089       return m_fhtmsk;
00090     else
00091       return m_shtmsk;
00092   }
00093 
00095   inline int  singleLflag(int i) const {
00096     if(i==0)
00097       return m_fltmsk;
00098     else
00099       return m_sltmsk;
00100   } 
00101 
00103   inline int  prefInner(int i) const {
00104     if(i==0)
00105       return m_fslmsk;
00106     else
00107       return m_sslmsk;
00108   }
00109 
00111   inline int prefHtrig(int i) const {
00112     if(i==0)
00113       return m_fhtprf;
00114     else
00115       return m_shtprf;
00116   }
00117 
00119   inline int sortKascend(int i) const {
00120     if(i==0)
00121       return m_fhism;
00122     else
00123       return m_shism;
00124   }
00125 
00126 
00128   inline int  TcKToll(int i) const {
00129     if(i==0)
00130       return m_fprgcomp;
00131     else
00132       return m_sprgcomp;
00133   }
00134 
00136   inline int  TcBxLts() const { return m_lts; }
00137 
00139   inline int  singleLenab(int i) const { return m_ltf; }
00140 
00142   inline int usedBti(int bti) const { return m_trgenb.element(bti-1); }
00143 
00145   inline int IBTIOFF() const { return m_ibtioff; }
00146 
00148   inline int BendingAngleCut() const { return m_kprgcom; }
00149 
00151   inline int LVALIDIFH() const { return m_lvalidifh;}
00152 
00155   inline void setDebug(int debug) { m_debug=debug; }
00156 
00158   inline void setKRAD(int KRAD) { m_krad=KRAD;}
00159 
00161   inline void setBTIC(int BTIC) { m_btic=BTIC;}
00162 
00164   inline void setDD(int DD) { m_dd=DD;}
00165 
00167   inline void setTcReuse(int i, int TcReuse ) {
00168     if(i==0)
00169       m_reusei=TcReuse;
00170     else
00171       m_reuseo=TcReuse;
00172   }
00173 
00175   inline void setSingleHflag(int i, int singleHflag) {
00176     if(i==0)
00177       m_fhtmsk=singleHflag;
00178     else
00179       m_shtmsk=singleHflag;
00180   }
00181 
00183   inline void setSingleLflag(int i, int singleLflag) {
00184     if(i==0)
00185       m_fltmsk=singleLflag;
00186     else
00187       m_sltmsk=singleLflag;
00188   } 
00189 
00191   inline void setPrefInner(int i, int prefInner) {
00192     if(i==0)
00193       m_fslmsk=prefInner;
00194     else
00195       m_sslmsk=prefInner;
00196   }
00197 
00199   inline void setPrefHtrig(int i, int prefHtrig) {
00200     if(i==0)
00201       m_fhtprf=prefHtrig;
00202     else
00203       m_shtprf=prefHtrig;
00204   }
00205 
00207   inline void setSortKascend(int i, int sortKascend) {
00208     if(i==0)
00209       m_fhism=sortKascend;
00210     else
00211       m_shism=sortKascend;
00212   }
00213 
00214 
00216   inline void setTcKToll(int i, int TcKToll) {
00217     if(i==0)
00218       m_fprgcomp=TcKToll;
00219     else
00220       m_sprgcomp=TcKToll;
00221   }
00222 
00224   inline void setTcBxLts(int TcBxLts) { m_lts=TcBxLts; }
00225 
00227   inline void setSingleLenab(int i, int singleLenab) { m_ltf=singleLenab; }
00228 
00230   inline void setUsedBti(int bti, int mask) { m_trgenb.set(bti-1,mask); }
00231 
00233   inline void setIBTIOFF(int IBTIOFF) { m_ibtioff=IBTIOFF; }
00234 
00236   inline void setBendingAngleCut(int BendingAngleCut) { m_kprgcom=BendingAngleCut; }
00237 
00239   inline void setLVALIDIFH(int LVALIDIFH ) { m_lvalidifh=LVALIDIFH;}
00240 
00242   void print() const ;
00243 
00244 /*   //! Return pointer to parameter set */
00245 /*   const edm::ParameterSet* getParameterSet() { return m_ps; } */
00246 
00247 
00248 private:
00249   //  const edm::ParameterSet* m_ps;
00250 
00251   int8_t m_debug;
00252   int8_t m_krad;
00253   int8_t m_btic;
00254   int8_t m_dd;
00255   int8_t m_reusei;
00256   int8_t m_reuseo;
00257   int8_t m_fhtmsk;
00258   int8_t m_shtmsk;
00259   int8_t m_fltmsk;
00260   int8_t m_sltmsk;
00261   int8_t m_fslmsk;
00262   int8_t m_sslmsk;
00263   int8_t m_fhtprf;
00264   int8_t m_shtprf;
00265   int8_t m_fhism;
00266   int8_t m_shism;
00267   int8_t m_fprgcomp;
00268   int8_t m_sprgcomp;
00269   int8_t m_lts;
00270   int8_t m_ltf;
00271   BitArray<16> m_trgenb;
00272   int8_t m_ibtioff;
00273   int16_t m_kprgcom;
00274   int8_t m_lvalidifh;
00275 
00276 };
00277 
00278 #endif