/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 DaqBlock_DaqBlock_H 00016 #define DaqBlock_DaqBlock_H 1 00017 00018 // Include files 00019 #include "GaudiKernel/boost_allocator.h" 00020 #include <vector> 00021 #include <ostream> 00022 00023 // Forward declarations 00024 00025 namespace DayaBay 00026 { 00027 00028 // Forward declarations 00029 00039 class DaqBlock 00040 { 00041 public: 00042 00044 typedef std::vector<unsigned int> RawData; 00045 00047 DaqBlock() : m_bytes(0) {} 00048 00050 DaqBlock(const DaqBlock & rh); 00051 00053 DaqBlock & operator=(const DaqBlock & rh); 00054 00056 virtual ~DaqBlock(); 00057 00059 unsigned int size() const; 00060 00062 std::ostream& fillStream(std::ostream& s) const; 00063 00066 const RawData* bytes() const; 00067 00070 RawData* bytes(); 00071 00074 void setBytes(RawData* value); 00075 00076 00077 #ifndef GOD_NOALLOC 00078 00079 static void* operator new ( size_t size ) 00080 { 00081 return ( sizeof(DaqBlock) == size ? 00082 boost::singleton_pool<DaqBlock, sizeof(DaqBlock)>::malloc() : 00083 ::operator new(size) ); 00084 } 00085 00089 static void* operator new ( size_t size, void* pObj ) 00090 { 00091 return ::operator new (size,pObj); 00092 } 00093 00095 static void operator delete ( void* p ) 00096 { 00097 boost::singleton_pool<DaqBlock, sizeof(DaqBlock)>::is_from(p) ? 00098 boost::singleton_pool<DaqBlock, sizeof(DaqBlock)>::free(p) : 00099 ::operator delete(p); 00100 } 00101 00104 static void operator delete ( void* p, void* pObj ) 00105 { 00106 ::operator delete (p, pObj); 00107 } 00108 #endif 00109 protected: 00110 00111 private: 00112 00113 RawData* m_bytes; 00114 00115 }; // class DaqBlock 00116 00117 inline std::ostream& operator<< (std::ostream& str, const DaqBlock& obj) 00118 { 00119 return obj.fillStream(str); 00120 } 00121 00122 } // namespace DayaBay; 00123 00124 // ----------------------------------------------------------------------------- 00125 // end of class 00126 // ----------------------------------------------------------------------------- 00127 00128 // Including forward declarations 00129 00130 inline DayaBay::DaqBlock::DaqBlock(const DayaBay::DaqBlock & rh) : 00131 m_bytes( rh.m_bytes ) 00132 {} 00133 00134 inline DayaBay::DaqBlock & DayaBay::DaqBlock::operator=(const DayaBay::DaqBlock & rh) { 00135 if ( this != &rh ) { 00136 m_bytes = rh.m_bytes; 00137 } 00138 return *this; 00139 } 00140 00141 inline DayaBay::DaqBlock::~DaqBlock() 00142 { 00143 00144 00145 } 00146 00147 inline const DayaBay::DaqBlock::RawData* DayaBay::DaqBlock::bytes() const 00148 { 00149 return m_bytes; 00150 } 00151 00152 inline DayaBay::DaqBlock::RawData* DayaBay::DaqBlock::bytes() 00153 { 00154 return m_bytes; 00155 } 00156 00157 inline void DayaBay::DaqBlock::setBytes(RawData* value) 00158 { 00159 m_bytes = value; 00160 } 00161 00162 00163 #endif ///DaqBlock_DaqBlock_H