Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:02:20

0001 #ifndef CondFormats_L1TObjects_L1GtParameters_h
0002 #define CondFormats_L1TObjects_L1GtParameters_h
0003 
0004 /**
0005  * \class L1GtParameters
0006  *
0007  *
0008  * Description: L1 GT parameters.
0009  *
0010  * Implementation:
0011  *    <TODO: enter implementation details>
0012  *
0013  * \author: Vasile Mihai Ghete - HEPHY Vienna
0014  *
0015  * $Date$
0016  * $Revision$
0017  *
0018  */
0019 
0020 // system include files
0021 #include "CondFormats/Serialization/interface/Serializable.h"
0022 
0023 #include <ostream>
0024 #include <vector>
0025 #include <cstdint>
0026 
0027 // user include files
0028 //   base class
0029 
0030 // forward declarations
0031 
0032 // class declaration
0033 class L1GtParameters {
0034 public:
0035   // constructor
0036   L1GtParameters();
0037 
0038   // destructor
0039   virtual ~L1GtParameters();
0040 
0041 public:
0042   /// get / set the total Bx's in the event
0043   inline const int gtTotalBxInEvent() const { return m_totalBxInEvent; }
0044 
0045   void setGtTotalBxInEvent(const int&);
0046 
0047   /// get / set the active boards for L1 GT DAQ record
0048   inline const uint16_t gtDaqActiveBoards() const { return m_daqActiveBoards; }
0049 
0050   void setGtDaqActiveBoards(const uint16_t&);
0051 
0052   /// get / set the active boards for L1 GT EVM record
0053   inline const uint16_t gtEvmActiveBoards() const { return m_evmActiveBoards; }
0054 
0055   void setGtEvmActiveBoards(const uint16_t&);
0056 
0057   /// get / set the number of Bx per board for L1 GT DAQ record
0058   inline const std::vector<int>& gtDaqNrBxBoard() const { return m_daqNrBxBoard; }
0059 
0060   void setGtDaqNrBxBoard(const std::vector<int>&);
0061 
0062   /// get / set the number of Bx per board for L1 GT EVM record
0063   inline const std::vector<int>& gtEvmNrBxBoard() const { return m_evmNrBxBoard; }
0064 
0065   void setGtEvmNrBxBoard(const std::vector<int>&);
0066 
0067   /// get / set length of BST message (in bytes) for L1 GT EVM record
0068   inline const unsigned int gtBstLengthBytes() const { return m_bstLengthBytes; }
0069 
0070   void setGtBstLengthBytes(const unsigned int&);
0071 
0072   /// print all the L1 GT parameters
0073   void print(std::ostream&) const;
0074 
0075   /// output stream operator
0076   friend std::ostream& operator<<(std::ostream&, const L1GtParameters&);
0077 
0078 private:
0079   /// total Bx's in the event
0080   int m_totalBxInEvent;
0081 
0082   /// active boards in the L1 DAQ record
0083   uint16_t m_daqActiveBoards;
0084 
0085   /// active boards in the L1 EVM record
0086   uint16_t m_evmActiveBoards;
0087 
0088   /// number of Bx per board in the DAQ record
0089   std::vector<int> m_daqNrBxBoard;
0090 
0091   /// number of Bx per board in the EVM record
0092   std::vector<int> m_evmNrBxBoard;
0093 
0094   /// length of BST message (in bytes)
0095   unsigned int m_bstLengthBytes;
0096 
0097   COND_SERIALIZABLE;
0098 };
0099 
0100 #endif /*CondFormats_L1TObjects_L1GtParameters_h*/