Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef CondFormats_L1TObjects_L1GtBoardMaps_h
0002 #define CondFormats_L1TObjects_L1GtBoardMaps_h
0003 
0004 /**
0005  * \class L1GtBoardMaps
0006  *
0007  *
0008  * Description: map of the L1 GT boards.
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 <vector>
0024 #include <iosfwd>
0025 
0026 // user include files
0027 #include "CondFormats/L1TObjects/interface/L1GtFwd.h"
0028 #include "CondFormats/L1TObjects/interface/L1GtBoard.h"
0029 
0030 // forward declarations
0031 
0032 // class declaration
0033 class L1GtBoardMaps {
0034 public:
0035   // constructor
0036   L1GtBoardMaps();
0037 
0038   // destructor
0039   virtual ~L1GtBoardMaps();
0040 
0041 public:
0042   /// get / set / print the L1 GT board map
0043   const std::vector<L1GtBoard>& gtBoardMaps() const { return m_gtBoardMaps; }
0044 
0045   void setGtBoardMaps(const std::vector<L1GtBoard>&);
0046   void print(std::ostream&) const;
0047 
0048   /// output stream operator
0049   friend std::ostream& operator<<(std::ostream&, const L1GtBoardMaps&);
0050 
0051 public:
0052   /// print L1 GT DAQ record map
0053   void printGtDaqRecordMap(std::ostream& myCout) const;
0054 
0055   /// print L1 GT EVM record map
0056   void printGtEvmRecordMap(std::ostream& myCout) const;
0057 
0058   /// print L1 GT active boards map for DAQ record
0059   void printGtDaqActiveBoardsMap(std::ostream& myCout) const;
0060 
0061   /// print L1 GT active boards map for EVM record
0062   void printGtEvmActiveBoardsMap(std::ostream& myCout) const;
0063 
0064   /// print L1 GT board - slot map
0065   void printGtBoardSlotMap(std::ostream& myCout) const;
0066 
0067   /// print L1 GT board name in hw record map
0068   void printGtBoardHexNameMap(std::ostream& myCout) const;
0069 
0070   /// print L1 quadruplet (4x16 bits)(cable) to PSB input map
0071   void printGtQuadToPsbMap(std::ostream& myCout) const;
0072 
0073 private:
0074   /// L1 GT boards and their mapping
0075   std::vector<L1GtBoard> m_gtBoardMaps;
0076 
0077   COND_SERIALIZABLE;
0078 };
0079 
0080 #endif /*CondFormats_L1TObjects_L1GtBoardMaps_h*/