Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:04:33

0001 // Class for Muon Endcap (ME) Data Record
0002 
0003 #ifndef __l1t_emtf_ME_h__
0004 #define __l1t_emtf_ME_h__
0005 
0006 #include <vector>
0007 #include <cstdint>
0008 
0009 namespace l1t {
0010   namespace emtf {
0011     class ME {
0012     public:
0013       explicit ME(uint64_t dataword);
0014 
0015       ME()
0016           : wire(-99),
0017             quality(-99),
0018             clct_pattern(-99),
0019             bc0(-99),
0020             bxe(-99),
0021             lr(-99),
0022             csc_ID(-99),
0023             strip(-99),
0024             afff(-99),
0025             cik(-99),
0026             nit(-99),
0027             me_bxn(-99),
0028             afef(-99),
0029             se(-99),
0030             sm(-99),
0031             epc(-99),
0032             af(-99),
0033             station(-99),
0034             vp(-99),
0035             tbin(-99),
0036             // Run 3 OTMB data
0037             frame(-99),
0038             quarter_strip(-99),
0039             eighth_strip(-99),
0040             slope(-99),
0041             run3_pattern(-99),
0042             // Run 3 muon shower data
0043             musv(-99),
0044             mus_inTime(-99),
0045             mus_outOfTime(-99),
0046             // metadata
0047             stub_num(-99),
0048             format_errors(0),
0049             dataword(-99){};
0050 
0051       virtual ~ME(){};
0052 
0053       void set_wire(int bits) { wire = bits; }
0054       void set_quality(int bits) { quality = bits; }
0055       void set_clct_pattern(int bits) { clct_pattern = bits; }
0056       void set_bc0(int bits) { bc0 = bits; }
0057       void set_bxe(int bits) { bxe = bits; }
0058       void set_lr(int bits) { lr = bits; }
0059       void set_csc_ID(int bits) { csc_ID = bits; }
0060       void set_strip(int bits) { strip = bits; }
0061       void set_afff(int bits) { afff = bits; }
0062       void set_cik(int bits) { cik = bits; }
0063       void set_nit(int bits) { nit = bits; }
0064       void set_me_bxn(int bits) { me_bxn = bits; }
0065       void set_afef(int bits) { afef = bits; }
0066       void set_se(int bits) { se = bits; }
0067       void set_sm(int bits) { sm = bits; }
0068       void set_epc(int bits) { epc = bits; }
0069       void set_af(int bits) { af = bits; }
0070       void set_station(int bits) { station = bits; }
0071       void set_vp(int bits) { vp = bits; }
0072       void set_tbin(int bits) { tbin = bits; }
0073       // Run 3 OTMB
0074       void set_frame(int bits) { frame = bits; }
0075       void set_quarter_strip(int bits) { quarter_strip = bits; }
0076       void set_eighth_strip(int bits) { eighth_strip = bits; }
0077       void set_slope(int bits) { slope = bits; }
0078       void set_run3_pattern(int bits) { run3_pattern = bits; }
0079       // Run 3 muon shower
0080       void set_musv(int bits) { musv = bits; }
0081       void set_mus_inTime(int bits) { mus_inTime = bits; }
0082       void set_mus_outOfTime(int bits) { mus_outOfTime = bits; }
0083       // meta data
0084       void set_stub_num(int bits) { stub_num = bits; }
0085       void add_format_error() { format_errors += 1; }
0086       void set_dataword(uint64_t bits) { dataword = bits; }
0087 
0088       int Wire() const { return wire; }
0089       int Quality() const { return quality; }
0090       int CLCT_pattern() const { return clct_pattern; }
0091       int BC0() const { return bc0; }
0092       int BXE() const { return bxe; }
0093       int LR() const { return lr; }
0094       int CSC_ID() const { return csc_ID; }
0095       int Strip() const { return strip; }
0096       int AFFF() const { return afff; }
0097       int CIK() const { return cik; }
0098       int NIT() const { return nit; }
0099       int ME_BXN() const { return me_bxn; }
0100       int AFEF() const { return afef; }
0101       int SE() const { return se; }
0102       int SM() const { return sm; }
0103       int EPC() const { return epc; }
0104       int AF() const { return af; }
0105       int Station() const { return station; }
0106       int VP() const { return vp; }
0107       int TBIN() const { return tbin; }
0108       // Run 3 OTMB
0109       int Frame() const { return frame; }
0110       int Quarter_strip() const { return quarter_strip; }
0111       int Eighth_strip() const { return eighth_strip; }
0112       int Slope() const { return slope; }
0113       int Run3_pattern() const { return run3_pattern; }
0114       // Run 3 muon shower
0115       int MUSV() const { return musv; }
0116       int MUS_inTime() const { return mus_inTime; }
0117       int MUS_outOfTime() const { return mus_outOfTime; }
0118       // metadata
0119       int Stub_num() const { return stub_num; }
0120       int Format_errors() const { return format_errors; }
0121       uint64_t Dataword() const { return dataword; }
0122 
0123     private:
0124       int wire;
0125       int quality;
0126       int clct_pattern;
0127       int bc0;
0128       int bxe;
0129       int lr;
0130       int csc_ID;
0131       int strip;
0132       int afff;
0133       int cik;
0134       int nit;
0135       int me_bxn;
0136       int afef;
0137       int se;
0138       int sm;
0139       int epc;
0140       int af;
0141       int station;
0142       int vp;
0143       int tbin;
0144       // Run 3 OTMB
0145       int frame;
0146       int quarter_strip;
0147       int eighth_strip;
0148       int slope;
0149       int run3_pattern;
0150       // Run 3 muon shower
0151       int musv;
0152       int mus_inTime;
0153       int mus_outOfTime;
0154       // metadata
0155       int stub_num;
0156       int format_errors;
0157       uint64_t dataword;
0158 
0159     };  // End of class ME
0160 
0161     // Define a vector of ME
0162     typedef std::vector<ME> MECollection;
0163 
0164   }  // End of namespace emtf
0165 }  // End of namespace l1t
0166 
0167 #endif /* define __l1t_emtf_ME_h__ */