/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 TESDemoData_TESDemoPositron_H 00016 #define TESDemoData_TESDemoPositron_H 1 00017 00018 // Include files 00019 #include "Context/TimeStamp.h" 00020 #include "Event/TemporalDataObject.h" 00021 #include "Event/TESDemoReadout.h" 00022 #include "Event/TESDemoTracer.h" 00023 #include "GaudiKernel/boost_allocator.h" 00024 #include "GaudiKernel/SmartRef.h" 00025 #include <ostream> 00026 00027 // Forward declarations 00028 00029 namespace DayaBay 00030 { 00031 00032 // Forward declarations 00033 00043 class TESDemoPositron: public TemporalDataObject, virtual public TESDemoTracer 00044 { 00045 public: 00046 00048 TESDemoPositron(const TimeStamp& timeStamp, 00049 const DayaBay::TESDemoReadout* readout); 00050 00052 TESDemoPositron() : m_timeStamp() {} 00053 00055 virtual ~TESDemoPositron(); 00056 00058 virtual std::ostream& fillStream(std::ostream& s) const; 00059 00061 void setReadout(const SmartRef<DayaBay::TESDemoReadout>& value); 00062 00064 void setReadout(const DayaBay::TESDemoReadout* value); 00065 00068 const TimeStamp& timeStamp() const; 00069 00072 void setTimeStamp(const TimeStamp& value); 00073 00076 const DayaBay::TESDemoReadout* readout() const; 00077 00078 00079 #ifndef GOD_NOALLOC 00080 00081 static void* operator new ( size_t size ) 00082 { 00083 return ( sizeof(TESDemoPositron) == size ? 00084 boost::singleton_pool<TESDemoPositron, sizeof(TESDemoPositron)>::malloc() : 00085 ::operator new(size) ); 00086 } 00087 00091 static void* operator new ( size_t size, void* pObj ) 00092 { 00093 return ::operator new (size,pObj); 00094 } 00095 00097 static void operator delete ( void* p ) 00098 { 00099 boost::singleton_pool<TESDemoPositron, sizeof(TESDemoPositron)>::is_from(p) ? 00100 boost::singleton_pool<TESDemoPositron, sizeof(TESDemoPositron)>::free(p) : 00101 ::operator delete(p); 00102 } 00103 00106 static void operator delete ( void* p, void* pObj ) 00107 { 00108 ::operator delete (p, pObj); 00109 } 00110 #endif 00111 protected: 00112 00113 private: 00114 00115 TimeStamp m_timeStamp; 00116 SmartRef<DayaBay::TESDemoReadout> m_readout; 00117 00118 }; // class TESDemoPositron 00119 00120 inline std::ostream& operator<< (std::ostream& str, const TESDemoPositron& obj) 00121 { 00122 return obj.fillStream(str); 00123 } 00124 00125 } // namespace DayaBay; 00126 00127 // ----------------------------------------------------------------------------- 00128 // end of class 00129 // ----------------------------------------------------------------------------- 00130 00131 // Including forward declarations 00132 00133 inline DayaBay::TESDemoPositron::TESDemoPositron(const TimeStamp& timeStamp, 00134 const DayaBay::TESDemoReadout* readout) 00135 { 00136 00137 setTimeStamp(timeStamp); 00138 setReadout(readout); 00139 setEarliest(timeStamp); 00140 setLatest(timeStamp); 00141 00142 } 00143 00144 inline DayaBay::TESDemoPositron::~TESDemoPositron() 00145 { 00146 00147 // Takes care of reference counting 00148 setReadout(0); 00149 00150 } 00151 00152 inline std::ostream& DayaBay::TESDemoPositron::fillStream(std::ostream& s) const 00153 { 00154 TemporalDataObject::fillStream(s); 00155 TESDemoTracer::fillStream(s); 00156 s << "{ " << "timeStamp : " << m_timeStamp << std::endl << " }"; 00157 return s; 00158 } 00159 00160 00161 inline const TimeStamp& DayaBay::TESDemoPositron::timeStamp() const 00162 { 00163 return m_timeStamp; 00164 } 00165 00166 inline void DayaBay::TESDemoPositron::setTimeStamp(const TimeStamp& value) 00167 { 00168 m_timeStamp = value; 00169 } 00170 00171 inline const DayaBay::TESDemoReadout* DayaBay::TESDemoPositron::readout() const 00172 { 00173 return m_readout; 00174 } 00175 00176 00177 #endif ///TESDemoData_TESDemoPositron_H