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 RawEvent_RawRomLtb_H 00016 #define RawEvent_RawRomLtb_H 1 00017 00018 // Include files 00019 #include "Event/RawRom.h" 00020 #include "GaudiKernel/boost_allocator.h" 00021 #include "GaudiKernel/SerializeSTL.h" 00022 #include <ostream> 00023 00024 // Forward declarations 00025 00026 namespace DayaBay 00027 { 00028 00029 // Forward declarations 00030 class RawLtbFrame; 00031 using GaudiUtils::operator<<; 00032 00033 00043 class RawRomLtb: public RawRom 00044 { 00045 public: 00046 00048 RawRomLtb() : m_frames() {} 00049 00051 ~RawRomLtb(); 00052 00054 virtual std::ostream& fillStream(std::ostream& s) const; 00055 00058 const std::vector<DayaBay::RawLtbFrame*>& frames() const; 00059 00062 void setFrames(const std::vector<DayaBay::RawLtbFrame*>& value); 00063 00064 00065 #ifndef GOD_NOALLOC 00067 static void* operator new ( size_t size ) 00068 { 00069 return ( sizeof(RawRomLtb) == size ? 00070 boost::singleton_pool<RawRomLtb, sizeof(RawRomLtb)>::malloc() : 00071 ::operator new(size) ); 00072 } 00073 00077 static void* operator new ( size_t size, void* pObj ) 00078 { 00079 return ::operator new (size,pObj); 00080 } 00081 00083 static void operator delete ( void* p ) 00084 { 00085 boost::singleton_pool<RawRomLtb, sizeof(RawRomLtb)>::is_from(p) ? 00086 boost::singleton_pool<RawRomLtb, sizeof(RawRomLtb)>::free(p) : 00087 ::operator delete(p); 00088 } 00089 00092 static void operator delete ( void* p, void* pObj ) 00093 { 00094 ::operator delete (p, pObj); 00095 } 00096 #endif 00097 protected: 00098 00099 private: 00100 00101 std::vector<DayaBay::RawLtbFrame*> m_frames; 00102 00103 }; // class RawRomLtb 00104 00105 inline std::ostream& operator<< (std::ostream& str, const RawRomLtb& obj) 00106 { 00107 return obj.fillStream(str); 00108 } 00109 00110 } // namespace DayaBay; 00111 00112 // ----------------------------------------------------------------------------- 00113 // end of class 00114 // ----------------------------------------------------------------------------- 00115 00116 // Including forward declarations 00117 #include "Event/RawLtbFrame.h" 00118 00119 00120 inline DayaBay::RawRomLtb::~RawRomLtb() 00121 { 00122 00123 for(unsigned int i=0; i<m_frames.size(); i++) { 00124 delete m_frames[i]; 00125 } 00126 m_frames.clear(); 00127 00128 } 00129 00130 inline std::ostream& DayaBay::RawRomLtb::fillStream(std::ostream& s) const 00131 { 00132 RawRom::fillStream(s); 00133 s << "{ " << "frames : " << m_frames << std::endl << " }"; 00134 return s; 00135 } 00136 00137 00138 inline const std::vector<DayaBay::RawLtbFrame*>& DayaBay::RawRomLtb::frames() const 00139 { 00140 return m_frames; 00141 } 00142 00143 inline void DayaBay::RawRomLtb::setFrames(const std::vector<DayaBay::RawLtbFrame*>& value) 00144 { 00145 m_frames = value; 00146 } 00147 00148 00149 #endif