Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:50:24

0001 // Class for AMC to AMC13 Trailer
0002 
0003 #ifndef __l1t_emtf_MTF7Trailer_h__
0004 #define __l1t_emtf_MTF7Trailer_h__
0005 
0006 #include <vector>
0007 #include <cstdint>
0008 
0009 namespace l1t {
0010   namespace emtf {
0011     class MTF7Trailer {
0012     public:
0013       explicit MTF7Trailer(uint64_t dataword);
0014 
0015       MTF7Trailer() : crc_32(-99), lv1_id(-99), data_length(-99), format_errors(0), dataword(-99){};
0016 
0017       virtual ~MTF7Trailer(){};
0018 
0019       void set_crc_32(int bits) { crc_32 = bits; }
0020       void set_lv1_id(int bits) { lv1_id = bits; }
0021       void set_data_length(int bits) { data_length = bits; }
0022       void add_format_error() { format_errors += 1; }
0023       void set_dataword(uint64_t bits) { dataword = bits; }
0024 
0025       int CRC_32() const { return crc_32; }
0026       int LV1_id() const { return lv1_id; }
0027       int Data_length() const { return data_length; }
0028       int Format_errors() const { return format_errors; }
0029       uint64_t Dataword() const { return dataword; }
0030 
0031     private:
0032       int crc_32;
0033       int lv1_id;
0034       int data_length;
0035       int format_errors;
0036       uint64_t dataword;
0037 
0038     };  // End class MTF7Trailer
0039   }     // End namespace emtf
0040 }  // End namespace l1t
0041 
0042 #endif /* define __l1t_emtf_MTF7Trailer_h__ */