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