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
00019
00020
00021
00022
00023
00024
00025
00026
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
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
00245
00246
00247
00248 private:
00249
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