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 DaqBlock_DaqBlockHeader_H 00016 #define DaqBlock_DaqBlockHeader_H 1 00017 00018 // Include files 00019 #include "Event/HeaderObject.h" 00020 #include "GaudiKernel/boost_allocator.h" 00021 #include <ostream> 00022 00023 // Forward declarations 00024 00025 namespace DayaBay 00026 { 00027 00028 // Forward declarations 00029 class DaqBlock; 00030 00031 00032 // Class ID definition 00033 static const CLID CLID_DaqBlockHeader = 51911; 00034 00035 // Namespace for locations in TDS 00036 namespace DaqBlockHeaderLocation { 00037 static const std::string& Default = "/DaqBlocks"; 00038 } 00039 00040 00050 class DaqBlockHeader: public HeaderObject 00051 { 00052 public: 00053 00055 static const std::string& defaultLocation() { return DaqBlockHeaderLocation::Default; } 00056 virtual const std::string& defLoc() const { return DaqBlockHeaderLocation::Default; } 00057 00059 DaqBlockHeader() : m_daqBlock(0), 00060 m_deltaEvents(0) {} 00061 00063 ~DaqBlockHeader(); 00064 00065 // Retrieve pointer to class definition structure 00066 virtual const CLID& clID() const; 00067 static const CLID& classID(); 00068 00070 virtual std::ostream& fillStream(std::ostream& s) const; 00071 00074 const DayaBay::DaqBlock* daqBlock() const; 00075 00078 void setDaqBlock(DayaBay::DaqBlock* value); 00079 00082 unsigned int deltaEvents() const; 00083 00086 void setDeltaEvents(unsigned int value); 00087 00088 00089 #ifndef GOD_NOALLOC 00091 static void* operator new ( size_t size ) 00092 { 00093 return ( sizeof(DaqBlockHeader) == size ? 00094 boost::singleton_pool<DaqBlockHeader, sizeof(DaqBlockHeader)>::malloc() : 00095 ::operator new(size) ); 00096 } 00097 00101 static void* operator new ( size_t size, void* pObj ) 00102 { 00103 return ::operator new (size,pObj); 00104 } 00105 00107 static void operator delete ( void* p ) 00108 { 00109 boost::singleton_pool<DaqBlockHeader, sizeof(DaqBlockHeader)>::is_from(p) ? 00110 boost::singleton_pool<DaqBlockHeader, sizeof(DaqBlockHeader)>::free(p) : 00111 ::operator delete(p); 00112 } 00113 00116 static void operator delete ( void* p, void* pObj ) 00117 { 00118 ::operator delete (p, pObj); 00119 } 00120 #endif 00121 protected: 00122 00123 private: 00124 00125 DayaBay::DaqBlock* m_daqBlock; 00126 unsigned int m_deltaEvents; 00127 00128 }; // class DaqBlockHeader 00129 00130 inline std::ostream& operator<< (std::ostream& str, const DaqBlockHeader& obj) 00131 { 00132 return obj.fillStream(str); 00133 } 00134 00135 } // namespace DayaBay; 00136 00137 // ----------------------------------------------------------------------------- 00138 // end of class 00139 // ----------------------------------------------------------------------------- 00140 00141 // Including forward declarations 00142 #include "Event/DaqBlock.h" 00143 00144 00145 inline DayaBay::DaqBlockHeader::~DaqBlockHeader() 00146 { 00147 00148 delete m_daqBlock; 00149 00150 } 00151 00152 inline const CLID& DayaBay::DaqBlockHeader::clID() const 00153 { 00154 return DayaBay::DaqBlockHeader::classID(); 00155 } 00156 00157 inline const CLID& DayaBay::DaqBlockHeader::classID() 00158 { 00159 return CLID_DaqBlockHeader; 00160 } 00161 00162 inline std::ostream& DayaBay::DaqBlockHeader::fillStream(std::ostream& s) const 00163 { 00164 HeaderObject::fillStream(s); 00165 s << "{ " << "daqBlock : " << m_daqBlock << std::endl 00166 << "deltaEvents : " << m_deltaEvents << std::endl << " }"; 00167 return s; 00168 } 00169 00170 00171 inline const DayaBay::DaqBlock* DayaBay::DaqBlockHeader::daqBlock() const 00172 { 00173 return m_daqBlock; 00174 } 00175 00176 inline void DayaBay::DaqBlockHeader::setDaqBlock(DayaBay::DaqBlock* value) 00177 { 00178 m_daqBlock = value; 00179 } 00180 00181 inline unsigned int DayaBay::DaqBlockHeader::deltaEvents() const 00182 { 00183 return m_deltaEvents; 00184 } 00185 00186 inline void DayaBay::DaqBlockHeader::setDeltaEvents(unsigned int value) 00187 { 00188 m_deltaEvents = value; 00189 } 00190 00191 00192 #endif