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*/