/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_Readout_H 00016 #define ReadoutEvent_Readout_H 1 00017 00018 // Include files 00019 #include "Context/TimeStamp.h" 00020 #include "Conventions/Detectors.h" 00021 #include "Conventions/Trigger.h" 00022 #include "EventReadoutFormat/EventReadout.h" 00023 #include "GaudiKernel/boost_allocator.h" 00024 #include <ostream> 00025 00026 // Forward declarations 00027 00028 namespace DayaBay 00029 { 00030 00031 // Forward declarations 00032 class ReadoutHeader; 00033 00034 00044 class Readout 00045 { 00046 public: 00047 00049 Readout(const DayaBay::Detector& detector, 00050 unsigned int triggerNumber, 00051 const TimeStamp& triggerTime, 00052 const DayaBay::Trigger::TriggerType_t& triggerType) : m_detector(detector), 00053 m_triggerNumber(triggerNumber), 00054 m_triggerTime(triggerTime), 00055 m_triggerType(triggerType), 00056 m_header(0) {} 00057 00059 Readout() : m_detector(0), 00060 m_triggerNumber(0), 00061 m_triggerTime(0), 00062 m_triggerType(), 00063 m_eventReadout(0), 00064 m_header(0) {} 00065 00067 Readout(const Readout & rh); 00068 00070 Readout & operator=(const Readout & rh); 00071 00073 virtual ~Readout(); 00074 00076 virtual std::ostream& fillStream(std::ostream& s) const; 00077 00080 const DayaBay::Detector& detector() const; 00081 00084 void setDetector(const DayaBay::Detector& value); 00085 00088 unsigned int triggerNumber() const; 00089 00092 void setTriggerNumber(unsigned int value); 00093 00096 const TimeStamp& triggerTime() const; 00097 00100 void setTriggerTime(const TimeStamp& value); 00101 00104 const DayaBay::Trigger::TriggerType_t& triggerType() const; 00105 00108 void setTriggerType(const DayaBay::Trigger::TriggerType_t& value); 00109 00112 const DybDaq::EventReadout* eventReadout() const; 00113 00116 void setEventReadout(DybDaq::EventReadout* value); 00117 00120 const DayaBay::ReadoutHeader* header() const; 00121 00124 void setHeader(DayaBay::ReadoutHeader* value); 00125 00126 00127 #ifndef GOD_NOALLOC 00128 00129 static void* operator new ( size_t size ) 00130 { 00131 return ( sizeof(Readout) == size ? 00132 boost::singleton_pool<Readout, sizeof(Readout)>::malloc() : 00133 ::operator new(size) ); 00134 } 00135 00139 static void* operator new ( size_t size, void* pObj ) 00140 { 00141 return ::operator new (size,pObj); 00142 } 00143 00145 static void operator delete ( void* p ) 00146 { 00147 boost::singleton_pool<Readout, sizeof(Readout)>::is_from(p) ? 00148 boost::singleton_pool<Readout, sizeof(Readout)>::free(p) : 00149 ::operator delete(p); 00150 } 00151 00154 static void operator delete ( void* p, void* pObj ) 00155 { 00156 ::operator delete (p, pObj); 00157 } 00158 #endif 00159 protected: 00160 00161 private: 00162 00163 DayaBay::Detector m_detector; 00164 unsigned int m_triggerNumber; 00165 TimeStamp m_triggerTime; 00166 DayaBay::Trigger::TriggerType_t m_triggerType; 00167 DybDaq::EventReadout* m_eventReadout; 00168 DayaBay::ReadoutHeader* m_header; 00169 00170 }; // class Readout 00171 00172 inline std::ostream& operator<< (std::ostream& str, const Readout& obj) 00173 { 00174 return obj.fillStream(str); 00175 } 00176 00177 } // namespace DayaBay; 00178 00179 // ----------------------------------------------------------------------------- 00180 // end of class 00181 // ----------------------------------------------------------------------------- 00182 00183 // Including forward declarations 00184 #include "ReadoutHeader.h" 00185 00186 00187 inline DayaBay::Readout::Readout(const DayaBay::Readout & rh) : 00188 m_detector( rh.m_detector ), 00189 m_triggerNumber( rh.m_triggerNumber ), 00190 m_triggerTime( rh.m_triggerTime ), 00191 m_triggerType( rh.m_triggerType ), 00192 m_eventReadout( rh.m_eventReadout ), 00193 m_header( rh.m_header ) 00194 {} 00195 00196 inline DayaBay::Readout & DayaBay::Readout::operator=(const DayaBay::Readout & rh) { 00197 if ( this != &rh ) { 00198 m_detector = rh.m_detector; 00199 m_triggerNumber = rh.m_triggerNumber; 00200 m_triggerTime = rh.m_triggerTime; 00201 m_triggerType = rh.m_triggerType; 00202 m_eventReadout = rh.m_eventReadout; 00203 m_header = rh.m_header; 00204 } 00205 return *this; 00206 } 00207 00208 inline DayaBay::Readout::~Readout() 00209 { 00210 00211 00212 } 00213 00214 inline std::ostream& DayaBay::Readout::fillStream(std::ostream& s) const 00215 { 00216 s << "{ " << "detector : " << m_detector << std::endl 00217 << "triggerNumber : " << m_triggerNumber << std::endl 00218 << "triggerTime : " << m_triggerTime << std::endl 00219 << "triggerType : " << m_triggerType << std::endl 00220 << "eventReadout : " << m_eventReadout << std::endl 00221 << "header : " << m_header << std::endl << " }"; 00222 return s; 00223 } 00224 00225 00226 inline const DayaBay::Detector& DayaBay::Readout::detector() const 00227 { 00228 return m_detector; 00229 } 00230 00231 inline void DayaBay::Readout::setDetector(const DayaBay::Detector& value) 00232 { 00233 m_detector = value; 00234 } 00235 00236 inline unsigned int DayaBay::Readout::triggerNumber() const 00237 { 00238 return m_triggerNumber; 00239 } 00240 00241 inline void DayaBay::Readout::setTriggerNumber(unsigned int value) 00242 { 00243 m_triggerNumber = value; 00244 } 00245 00246 inline const TimeStamp& DayaBay::Readout::triggerTime() const 00247 { 00248 return m_triggerTime; 00249 } 00250 00251 inline void DayaBay::Readout::setTriggerTime(const TimeStamp& value) 00252 { 00253 m_triggerTime = value; 00254 } 00255 00256 inline const DayaBay::Trigger::TriggerType_t& DayaBay::Readout::triggerType() const 00257 { 00258 return m_triggerType; 00259 } 00260 00261 inline void DayaBay::Readout::setTriggerType(const DayaBay::Trigger::TriggerType_t& value) 00262 { 00263 m_triggerType = value; 00264 } 00265 00266 inline const DybDaq::EventReadout* DayaBay::Readout::eventReadout() const 00267 { 00268 return m_eventReadout; 00269 } 00270 00271 inline void DayaBay::Readout::setEventReadout(DybDaq::EventReadout* value) 00272 { 00273 m_eventReadout = value; 00274 } 00275 00276 inline const DayaBay::ReadoutHeader* DayaBay::Readout::header() const 00277 { 00278 return m_header; 00279 } 00280 00281 inline void DayaBay::Readout::setHeader(DayaBay::ReadoutHeader* value) 00282 { 00283 m_header = value; 00284 } 00285 00286 00287 #endif ///ReadoutEvent_Readout_H