/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 ElecEvent_ElecHeader_H 00016 #define ElecEvent_ElecHeader_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 ElecPulseHeader; 00030 class ElecCrateHeader; 00031 00032 00033 // Class ID definition 00034 static const CLID CLID_ElecHeader = 51401; 00035 00036 // Namespace for locations in TDS 00037 namespace ElecHeaderLocation { 00038 static const std::string& Default = "/Event/Elec/ElecHeader"; 00039 } 00040 00041 00051 class ElecHeader: public HeaderObject 00052 { 00053 public: 00054 00056 static const std::string& defaultLocation() { return ElecHeaderLocation::Default; } 00057 virtual const std::string& defLoc() const { return ElecHeaderLocation::Default; } 00058 00060 ElecHeader() : m_pulseHeader(0), 00061 m_crateHeader(0) {} 00062 00064 ~ElecHeader(); 00065 00066 // Retrieve pointer to class definition structure 00067 virtual const CLID& clID() const; 00068 static const CLID& classID(); 00069 00071 std::ostream& fillStream(std::ostream& s) const; 00072 00075 const DayaBay::ElecPulseHeader* pulseHeader() const; 00076 00079 void setPulseHeader(DayaBay::ElecPulseHeader* value); 00080 00083 const DayaBay::ElecCrateHeader* crateHeader() const; 00084 00087 void setCrateHeader(DayaBay::ElecCrateHeader* value); 00088 00089 00090 #ifndef GOD_NOALLOC 00091 00092 static void* operator new ( size_t size ) 00093 { 00094 return ( sizeof(ElecHeader) == size ? 00095 boost::singleton_pool<ElecHeader, sizeof(ElecHeader)>::malloc() : 00096 ::operator new(size) ); 00097 } 00098 00102 static void* operator new ( size_t size, void* pObj ) 00103 { 00104 return ::operator new (size,pObj); 00105 } 00106 00108 static void operator delete ( void* p ) 00109 { 00110 boost::singleton_pool<ElecHeader, sizeof(ElecHeader)>::is_from(p) ? 00111 boost::singleton_pool<ElecHeader, sizeof(ElecHeader)>::free(p) : 00112 ::operator delete(p); 00113 } 00114 00117 static void operator delete ( void* p, void* pObj ) 00118 { 00119 ::operator delete (p, pObj); 00120 } 00121 #endif 00122 protected: 00123 00124 private: 00125 00126 DayaBay::ElecPulseHeader* m_pulseHeader; 00127 DayaBay::ElecCrateHeader* m_crateHeader; 00128 00129 }; // class ElecHeader 00130 00131 inline std::ostream& operator<< (std::ostream& str, const ElecHeader& obj) 00132 { 00133 return obj.fillStream(str); 00134 } 00135 00136 } // namespace DayaBay; 00137 00138 // ----------------------------------------------------------------------------- 00139 // end of class 00140 // ----------------------------------------------------------------------------- 00141 00142 // Including forward declarations 00143 #include "ElecPulseHeader.h" 00144 #include "ElecCrateHeader.h" 00145 00146 00147 inline DayaBay::ElecHeader::~ElecHeader() 00148 { 00149 00150 delete m_pulseHeader; 00151 delete m_crateHeader; 00152 00153 } 00154 00155 inline const CLID& DayaBay::ElecHeader::clID() const 00156 { 00157 return DayaBay::ElecHeader::classID(); 00158 } 00159 00160 inline const CLID& DayaBay::ElecHeader::classID() 00161 { 00162 return CLID_ElecHeader; 00163 } 00164 00165 inline const DayaBay::ElecPulseHeader* DayaBay::ElecHeader::pulseHeader() const 00166 { 00167 return m_pulseHeader; 00168 } 00169 00170 inline void DayaBay::ElecHeader::setPulseHeader(DayaBay::ElecPulseHeader* value) 00171 { 00172 m_pulseHeader = value; 00173 } 00174 00175 inline const DayaBay::ElecCrateHeader* DayaBay::ElecHeader::crateHeader() const 00176 { 00177 return m_crateHeader; 00178 } 00179 00180 inline void DayaBay::ElecHeader::setCrateHeader(DayaBay::ElecCrateHeader* value) 00181 { 00182 m_crateHeader = value; 00183 } 00184 00185 00186 #endif ///ElecEvent_ElecHeader_H