Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:35:54

0001 // Class for AMC13 Header
0002 
0003 #ifndef __l1t_emtf_AMC13Header_h__
0004 #define __l1t_emtf_AMC13Header_h__
0005 
0006 #include <vector>
0007 #include <cstdint>
0008 
0009 namespace l1t {
0010   namespace emtf {
0011     class AMC13Header {
0012     public:
0013       explicit AMC13Header(uint64_t dataword);
0014 
0015       // Empty constructor
0016       AMC13Header()
0017           : orn(-99),
0018             lv1_id(-99),
0019             bx_id(-99),
0020             source_id(-99),
0021             evt_ty(-99),
0022             fov(-99),
0023             ufov(-99),
0024             res(-99),
0025             namc(-99),
0026             h(-99),
0027             x(-99),
0028             format_errors(0),
0029             dataword(-99) {}
0030 
0031       // Fill constructor
0032       AMC13Header(int int_orn,
0033                   int int_lv1_id,
0034                   int int_bx_id,
0035                   int int_source_id,
0036                   int int_evt_ty,
0037                   int int_fov,
0038                   int int_ufov,
0039                   int int_res,
0040                   int int_namc,
0041                   int int_h,
0042                   int int_x)
0043           : orn(int_orn),
0044             lv1_id(int_lv1_id),
0045             bx_id(int_bx_id),
0046             source_id(int_source_id),
0047             evt_ty(int_evt_ty),
0048             fov(int_fov),
0049             ufov(int_ufov),
0050             res(int_res),
0051             namc(int_namc),
0052             h(int_h),
0053             x(int_x),
0054             format_errors(0),
0055             dataword(-99) {}
0056 
0057       virtual ~AMC13Header() {}
0058 
0059       void set_orn(int bits) { orn = bits; }
0060       void set_lv1_id(int bits) { lv1_id = bits; }
0061       void set_bx_id(int bits) { bx_id = bits; }
0062       void set_source_id(int bits) { source_id = bits; }
0063       void set_evt_ty(int bits) { evt_ty = bits; }
0064       void set_fov(int bits) { fov = bits; }
0065       void set_ufov(int bits) { ufov = bits; }
0066       void set_res(int bits) { res = bits; }
0067       void set_namc(int bits) { namc = bits; }
0068       void set_h(int bits) { h = bits; }
0069       void set_x(int bits) { x = bits; }
0070       void add_format_error() { format_errors += 1; }
0071       void set_dataword(uint64_t bits) { dataword = bits; }
0072 
0073       int ORN() const { return orn; }
0074       int LV1_id() const { return lv1_id; }
0075       int BX_id() const { return bx_id; }
0076       int Source_id() const { return source_id; }
0077       int Evt_ty() const { return evt_ty; }
0078       int FOV() const { return fov; }
0079       int UFOV() const { return ufov; }
0080       int Res() const { return res; }
0081       int Namc() const { return namc; }
0082       int H() const { return h; }
0083       int X() const { return x; }
0084       int Format_Errors() const { return format_errors; }
0085       uint64_t Dataword() const { return dataword; }
0086 
0087     private:
0088       int orn;
0089       int lv1_id;
0090       int bx_id;
0091       int source_id;
0092       int evt_ty;
0093       int fov;
0094       int ufov;
0095       int res;
0096       int namc;
0097       int h;
0098       int x;
0099       int format_errors;
0100       uint64_t dataword;
0101 
0102     };  // End class AMC13Header
0103   }  // End namespace emtf
0104 }  // End namespace l1t
0105 
0106 #endif /* define __l1t_emtf_AMC13Header_h__ */