CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2/src/CondFormats/L1TObjects/interface/L1GtBoard.h

Go to the documentation of this file.
00001 #ifndef CondFormats_L1TObjects_L1GtBoard_h
00002 #define CondFormats_L1TObjects_L1GtBoard_h
00003 
00020 // system include files
00021 #include <string>
00022 #include <vector>
00023 #include <map>
00024 
00025 #include <boost/cstdint.hpp>
00026 
00027 // user include files
00028 #include "CondFormats/L1TObjects/interface/L1GtFwd.h"
00029 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutSetupFwd.h"
00030 
00031 // forward declarations
00032 
00033 // class declaration
00034 class L1GtBoard
00035 {
00036 
00037 public:
00038 
00040     L1GtBoard();
00041 
00042     L1GtBoard(const L1GtBoardType&);
00043 
00044     L1GtBoard(const L1GtBoardType&, const int&);
00045 
00047     virtual ~L1GtBoard();
00048 
00050     L1GtBoard(const L1GtBoard&);
00051 
00053     L1GtBoard& operator=(const L1GtBoard&);
00054 
00056     bool operator==(const L1GtBoard&) const;
00057 
00059     bool operator!=(const L1GtBoard&) const;
00060 
00062     bool operator< (const L1GtBoard&) const;
00063 
00064 public:
00065 
00067     static const int NumberCablesBoard;
00068 
00069 public:
00070 
00072     inline const L1GtBoardType gtBoardType() const
00073     {
00074         return m_gtBoardType;
00075     }
00076 
00077     void setGtBoardType(const L1GtBoardType&);
00078 
00080     inline const int gtBoardIndex() const
00081     {
00082         return m_gtBoardIndex;
00083     }
00084 
00085     void setGtBoardIndex(const int&);
00086 
00089     inline const int gtPositionDaqRecord() const
00090     {
00091         return m_gtPositionDaqRecord;
00092     }
00093 
00094     void setGtPositionDaqRecord(const int&);
00095 
00098     inline const int gtPositionEvmRecord() const
00099     {
00100         return m_gtPositionEvmRecord;
00101     }
00102 
00103     void setGtPositionEvmRecord(const int&);
00104 
00107     inline const int gtBitDaqActiveBoards() const
00108     {
00109         return m_gtBitDaqActiveBoards;
00110     }
00111 
00112     void setGtBitDaqActiveBoards(const int&);
00113 
00116     inline const int gtBitEvmActiveBoards() const
00117     {
00118         return m_gtBitEvmActiveBoards;
00119     }
00120 
00121     void setGtBitEvmActiveBoards(const int&);
00122 
00124     inline const int gtBoardSlot() const
00125     {
00126         return m_gtBoardSlot;
00127     }
00128 
00129     void setGtBoardSlot(const int&);
00130 
00132     inline const int gtBoardHexName() const
00133     {
00134         return m_gtBoardHexName;
00135     }
00136 
00137     void setGtBoardHexName(const int&);
00138 
00139 
00142     const std::vector<L1GtPsbQuad>& gtQuadInPsb() const
00143     {
00144         return m_gtQuadInPsb;
00145     }
00146 
00147     void setGtQuadInPsb(const std::vector<L1GtPsbQuad>&);
00148 
00151     const std::map<int, std::vector<L1GtObject> >& gtInputPsbChannels() const {
00152         return m_gtInputPsbChannels;
00153     }
00154 
00155     void setGtInputPsbChannels(const std::map<int, std::vector<L1GtObject> >&);
00156 
00158     const boost::uint16_t gtBoardId() const;
00159 
00161     std::string gtBoardName() const;
00162 
00164     void print(std::ostream& myCout) const;
00165 
00167     friend std::ostream& operator<<(std::ostream&, const L1GtBoard&);
00168 
00169 
00170 private:
00171 
00173     L1GtBoardType m_gtBoardType;
00174 
00176     int m_gtBoardIndex;
00177 
00179     int m_gtPositionDaqRecord;
00180 
00182     int m_gtPositionEvmRecord;
00183 
00186     int m_gtBitDaqActiveBoards;
00187 
00190     int m_gtBitEvmActiveBoards;
00191 
00193     int m_gtBoardSlot;
00194 
00197     int m_gtBoardHexName;
00198 
00201     std::vector<L1GtPsbQuad> m_gtQuadInPsb;
00202 
00206     std::map<int, std::vector<L1GtObject> > m_gtInputPsbChannels;
00207 
00208 };
00209 
00210 #endif /*CondFormats_L1TObjects_L1GtBoard_h*/