00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef TagEvent_TagMuonFragment_H
00016 #define TagEvent_TagMuonFragment_H 1
00017
00018
00019 #include "Event/TagData.h"
00020 #include "GaudiKernel/boost_allocator.h"
00021 #include <ostream>
00022
00023
00024
00025 namespace DayaBay
00026 {
00027
00028
00029
00039 class TagMuonFragment: public TagData
00040 {
00041 public:
00042
00044 TagMuonFragment() {}
00045
00047 virtual ~TagMuonFragment() {}
00048
00050 virtual std::ostream& fillStream(std::ostream& s) const;
00051
00052
00053 #ifndef GOD_NOALLOC
00055 static void* operator new ( size_t size )
00056 {
00057 return ( sizeof(TagMuonFragment) == size ?
00058 boost::singleton_pool<TagMuonFragment, sizeof(TagMuonFragment)>::malloc() :
00059 ::operator new(size) );
00060 }
00061
00065 static void* operator new ( size_t size, void* pObj )
00066 {
00067 return ::operator new (size,pObj);
00068 }
00069
00071 static void operator delete ( void* p )
00072 {
00073 boost::singleton_pool<TagMuonFragment, sizeof(TagMuonFragment)>::is_from(p) ?
00074 boost::singleton_pool<TagMuonFragment, sizeof(TagMuonFragment)>::free(p) :
00075 ::operator delete(p);
00076 }
00077
00080 static void operator delete ( void* p, void* pObj )
00081 {
00082 ::operator delete (p, pObj);
00083 }
00084 #endif
00085 protected:
00086
00087 private:
00088
00089 };
00090
00091 inline std::ostream& operator<< (std::ostream& str, const TagMuonFragment& obj)
00092 {
00093 return obj.fillStream(str);
00094 }
00095
00096 }
00097
00098
00099
00100
00101
00102
00103
00104 inline std::ostream& DayaBay::TagMuonFragment::fillStream(std::ostream& s) const
00105 {
00106 TagData::fillStream(s);
00107 return s;
00108 }
00109
00110
00111
00112 #endif