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 TagEvent_TagAdCoincidence_H 00016 #define TagEvent_TagAdCoincidence_H 1 00017 00018 // Include files 00019 #include "Event/TagData.h" 00020 #include "GaudiKernel/boost_allocator.h" 00021 #include <ostream> 00022 00023 // Forward declarations 00024 00025 namespace DayaBay 00026 { 00027 00028 // Forward declarations 00029 00039 class TagAdCoincidence: public TagData 00040 { 00041 public: 00042 00044 TagAdCoincidence() {} 00045 00047 virtual ~TagAdCoincidence() {} 00048 00050 virtual std::ostream& fillStream(std::ostream& s) const; 00051 00053 std::vector<const DayaBay::TagHeader*> adEvents() const; 00054 00056 std::vector<const DayaBay::TagHeader*> muons() const; 00057 00058 00059 #ifndef GOD_NOALLOC 00061 static void* operator new ( size_t size ) 00062 { 00063 return ( sizeof(TagAdCoincidence) == size ? 00064 boost::singleton_pool<TagAdCoincidence, sizeof(TagAdCoincidence)>::malloc() : 00065 ::operator new(size) ); 00066 } 00067 00071 static void* operator new ( size_t size, void* pObj ) 00072 { 00073 return ::operator new (size,pObj); 00074 } 00075 00077 static void operator delete ( void* p ) 00078 { 00079 boost::singleton_pool<TagAdCoincidence, sizeof(TagAdCoincidence)>::is_from(p) ? 00080 boost::singleton_pool<TagAdCoincidence, sizeof(TagAdCoincidence)>::free(p) : 00081 ::operator delete(p); 00082 } 00083 00086 static void operator delete ( void* p, void* pObj ) 00087 { 00088 ::operator delete (p, pObj); 00089 } 00090 #endif 00091 protected: 00092 00093 private: 00094 00095 }; // class TagAdCoincidence 00096 00097 inline std::ostream& operator<< (std::ostream& str, const TagAdCoincidence& obj) 00098 { 00099 return obj.fillStream(str); 00100 } 00101 00102 } // namespace DayaBay; 00103 00104 // ----------------------------------------------------------------------------- 00105 // end of class 00106 // ----------------------------------------------------------------------------- 00107 00108 // Including forward declarations 00109 00110 inline std::ostream& DayaBay::TagAdCoincidence::fillStream(std::ostream& s) const 00111 { 00112 TagData::fillStream(s); 00113 return s; 00114 } 00115 00116 00117 inline std::vector<const DayaBay::TagHeader*> DayaBay::TagAdCoincidence::adEvents() const 00118 { 00119 return this->header()->taggedHeaders(DayaBay::TagHeader::AdEvent); 00120 } 00121 00122 inline std::vector<const DayaBay::TagHeader*> DayaBay::TagAdCoincidence::muons() const 00123 { 00124 return this->header()->taggedHeaders(DayaBay::TagHeader::Muon); 00125 } 00126 00127 00128 #endif