/search.css" rel="stylesheet" type="text/css"/> /search.js">
00001 00002 // ************************************************************************** 00003 // * * 00004 // * ! ! ! A T T E N T I O N ! ! ! * 00005 // * * 00006 // * This file was created automatically by GaudiObjDesc, please do not * 00007 // * delete it or edit it by hand. * 00008 // * * 00009 // * If you want to change this file, first change the corresponding * 00010 // * xml-file and rerun the tools from GaudiObjDesc (or run make if you * 00011 // * are using it from inside a Gaudi-package). * 00012 // * * 00013 // ************************************************************************** 00014 00015 #ifndef ReadoutEvent_ReadoutRpcTriggerDataFrame_H 00016 #define ReadoutEvent_ReadoutRpcTriggerDataFrame_H 1 00017 00018 // Include files 00019 #include "ReadoutTriggerDataFrame.h" 00020 #include "Conventions/Trigger.h" 00021 #include "GaudiKernel/boost_allocator.h" 00022 #include "GaudiKernel/SerializeSTL.h" 00023 #include <ostream> 00024 00025 // Forward declarations 00026 00027 namespace DayaBay 00028 { 00029 00030 // Forward declarations 00031 using GaudiUtils::operator<<; 00032 00033 00043 class ReadoutRpcTriggerDataFrame: public ReadoutTriggerDataFrame 00044 { 00045 public: 00046 00048 ReadoutRpcTriggerDataFrame() : m_inTriggers(), 00049 m_outTriggers() {} 00050 00052 ReadoutRpcTriggerDataFrame(const ReadoutRpcTriggerDataFrame & rh); 00053 00055 ReadoutRpcTriggerDataFrame & operator=(const ReadoutRpcTriggerDataFrame & rh); 00056 00058 virtual ~ReadoutRpcTriggerDataFrame() {} 00059 00061 virtual std::ostream& fillStream(std::ostream& s) const; 00062 00064 void addInChannel(const DayaBay::FecChannelId& boardId, 00065 const DayaBay::Trigger::TriggerType_t& trigType); 00066 00068 void addOutChannel(const DayaBay::FecChannelId& boardId, 00069 const DayaBay::Trigger::TriggerType_t& trigType); 00070 00072 DaqRtm* daqRtm(const DayaBay::Detector& detector) const; 00073 00076 const std::map< DayaBay::FecChannelId, DayaBay::Trigger::TriggerType_t >& inTriggers() const; 00077 00080 void setInTriggers(const std::map< DayaBay::FecChannelId, DayaBay::Trigger::TriggerType_t >& value); 00081 00084 const std::map< DayaBay::FecChannelId, DayaBay::Trigger::TriggerType_t >& outTriggers() const; 00085 00088 void setOutTriggers(const std::map< DayaBay::FecChannelId, DayaBay::Trigger::TriggerType_t >& value); 00089 00090 00091 #ifndef GOD_NOALLOC 00092 00093 static void* operator new ( size_t size ) 00094 { 00095 return ( sizeof(ReadoutRpcTriggerDataFrame) == size ? 00096 boost::singleton_pool<ReadoutRpcTriggerDataFrame, sizeof(ReadoutRpcTriggerDataFrame)>::malloc() : 00097 ::operator new(size) ); 00098 } 00099 00103 static void* operator new ( size_t size, void* pObj ) 00104 { 00105 return ::operator new (size,pObj); 00106 } 00107 00109 static void operator delete ( void* p ) 00110 { 00111 boost::singleton_pool<ReadoutRpcTriggerDataFrame, sizeof(ReadoutRpcTriggerDataFrame)>::is_from(p) ? 00112 boost::singleton_pool<ReadoutRpcTriggerDataFrame, sizeof(ReadoutRpcTriggerDataFrame)>::free(p) : 00113 ::operator delete(p); 00114 } 00115 00118 static void operator delete ( void* p, void* pObj ) 00119 { 00120 ::operator delete (p, pObj); 00121 } 00122 #endif 00123 protected: 00124 00125 private: 00126 00127 std::map< DayaBay::FecChannelId, DayaBay::Trigger::TriggerType_t > m_inTriggers; 00128 std::map< DayaBay::FecChannelId, DayaBay::Trigger::TriggerType_t > m_outTriggers; 00129 00130 }; // class ReadoutRpcTriggerDataFrame 00131 00132 inline std::ostream& operator<< (std::ostream& str, const ReadoutRpcTriggerDataFrame& obj) 00133 { 00134 return obj.fillStream(str); 00135 } 00136 00137 } // namespace DayaBay; 00138 00139 // ----------------------------------------------------------------------------- 00140 // end of class 00141 // ----------------------------------------------------------------------------- 00142 00143 // Including forward declarations 00144 00145 inline DayaBay::ReadoutRpcTriggerDataFrame::ReadoutRpcTriggerDataFrame(const DayaBay::ReadoutRpcTriggerDataFrame & rh) : 00146 ReadoutTriggerDataFrame(rh), 00147 m_inTriggers( rh.m_inTriggers ), 00148 m_outTriggers( rh.m_outTriggers ) 00149 {} 00150 00151 inline DayaBay::ReadoutRpcTriggerDataFrame & DayaBay::ReadoutRpcTriggerDataFrame::operator=(const DayaBay::ReadoutRpcTriggerDataFrame & rh) { 00152 if ( this != &rh ) { 00153 m_inTriggers = rh.m_inTriggers; 00154 m_outTriggers = rh.m_outTriggers; 00155 } 00156 return *this; 00157 } 00158 00159 inline std::ostream& DayaBay::ReadoutRpcTriggerDataFrame::fillStream(std::ostream& s) const 00160 { 00161 ReadoutTriggerDataFrame::fillStream(s); 00162 s << "{ " << "inTriggers : " << m_inTriggers << std::endl 00163 << "outTriggers : " << m_outTriggers << std::endl << " }"; 00164 return s; 00165 } 00166 00167 00168 inline const std::map< DayaBay::FecChannelId, DayaBay::Trigger::TriggerType_t >& DayaBay::ReadoutRpcTriggerDataFrame::inTriggers() const 00169 { 00170 return m_inTriggers; 00171 } 00172 00173 inline void DayaBay::ReadoutRpcTriggerDataFrame::setInTriggers(const std::map< DayaBay::FecChannelId, DayaBay::Trigger::TriggerType_t >& value) 00174 { 00175 m_inTriggers = value; 00176 } 00177 00178 inline const std::map< DayaBay::FecChannelId, DayaBay::Trigger::TriggerType_t >& DayaBay::ReadoutRpcTriggerDataFrame::outTriggers() const 00179 { 00180 return m_outTriggers; 00181 } 00182 00183 inline void DayaBay::ReadoutRpcTriggerDataFrame::setOutTriggers(const std::map< DayaBay::FecChannelId, DayaBay::Trigger::TriggerType_t >& value) 00184 { 00185 m_outTriggers = value; 00186 } 00187 00188 inline void DayaBay::ReadoutRpcTriggerDataFrame::addInChannel(const DayaBay::FecChannelId& boardId, 00189 const DayaBay::Trigger::TriggerType_t& trigType) 00190 { 00191 00192 m_inTriggers[boardId] = trigType; 00193 00194 } 00195 00196 inline void DayaBay::ReadoutRpcTriggerDataFrame::addOutChannel(const DayaBay::FecChannelId& boardId, 00197 const DayaBay::Trigger::TriggerType_t& trigType) 00198 { 00199 00200 m_outTriggers[boardId] = trigType; 00201 00202 } 00203 00204 00205 #endif ///ReadoutEvent_ReadoutRpcTriggerDataFrame_H