Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:03:59

0001 #ifndef CSCDCCStatusDigi_CSCDCCStatusDigi_h
0002 #define CSCDCCStatusDigi_CSCDCCStatusDigi_h
0003 
0004 /** \class CSCDCCStatusDigi
0005  *
0006  *  Digi for CSC DCC info available in DDU
0007  *  
0008  *
0009  */
0010 
0011 #include <vector>
0012 #include <iosfwd>
0013 #include <cstdint>
0014 
0015 class CSCDCCStatusDigi {
0016 public:
0017   /// Constructor for all variables
0018   CSCDCCStatusDigi(const uint16_t* header, const uint16_t* trailer, const uint32_t& error, short unsigned tts);
0019   CSCDCCStatusDigi(const uint32_t& error, short unsigned tts) { errorFlag_ = error; }  //tts_ = tts;}
0020 
0021   /// Default constructor.
0022   CSCDCCStatusDigi() {}
0023 
0024   ///data accessors
0025   const uint16_t* header() const { return header_; }
0026   const uint16_t* trailer() const { return trailer_; }
0027   const uint32_t errorFlag() const { return errorFlag_; }
0028   const uint16_t getDCCTTS() const;
0029 
0030   /// Print the content of CSCDCCStatusDigi
0031   void print() const;
0032 
0033 private:
0034   uint16_t header_[8];
0035   uint16_t trailer_[8];
0036   uint32_t errorFlag_;
0037   short unsigned tts_;  /// Variable to access TTS
0038 };
0039 
0040 std::ostream& operator<<(std::ostream& o, const CSCDCCStatusDigi& digi);
0041 
0042 #endif