00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef TagEvent_TagAdEvent_H
00016 #define TagEvent_TagAdEvent_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 TagAdEvent: public TagData
00040 {
00041 public:
00042
00044 TagAdEvent() : m_npmts(0),
00045 m_qsum(0.0),
00046 m_qmean(0.0),
00047 m_qrms(0.0),
00048 m_qmax(0.0),
00049 m_tmean(0.0),
00050 m_trms(0.0) {}
00051
00053 virtual ~TagAdEvent() {}
00054
00056 virtual std::ostream& fillStream(std::ostream& s) const;
00057
00060 int npmts() const;
00061
00064 void setNpmts(int value);
00065
00068 float qsum() const;
00069
00072 void setQsum(float value);
00073
00076 float qmean() const;
00077
00080 void setQmean(float value);
00081
00084 float qrms() const;
00085
00088 void setQrms(float value);
00089
00092 float qmax() const;
00093
00096 void setQmax(float value);
00097
00100 float tmean() const;
00101
00104 void setTmean(float value);
00105
00108 float trms() const;
00109
00112 void setTrms(float value);
00113
00114
00115 #ifndef GOD_NOALLOC
00117 static void* operator new ( size_t size )
00118 {
00119 return ( sizeof(TagAdEvent) == size ?
00120 boost::singleton_pool<TagAdEvent, sizeof(TagAdEvent)>::malloc() :
00121 ::operator new(size) );
00122 }
00123
00127 static void* operator new ( size_t size, void* pObj )
00128 {
00129 return ::operator new (size,pObj);
00130 }
00131
00133 static void operator delete ( void* p )
00134 {
00135 boost::singleton_pool<TagAdEvent, sizeof(TagAdEvent)>::is_from(p) ?
00136 boost::singleton_pool<TagAdEvent, sizeof(TagAdEvent)>::free(p) :
00137 ::operator delete(p);
00138 }
00139
00142 static void operator delete ( void* p, void* pObj )
00143 {
00144 ::operator delete (p, pObj);
00145 }
00146 #endif
00147 protected:
00148
00149 private:
00150
00151 int m_npmts;
00152 float m_qsum;
00153 float m_qmean;
00154 float m_qrms;
00155 float m_qmax;
00156 float m_tmean;
00157 float m_trms;
00158
00159 };
00160
00161 inline std::ostream& operator<< (std::ostream& str, const TagAdEvent& obj)
00162 {
00163 return obj.fillStream(str);
00164 }
00165
00166 }
00167
00168
00169
00170
00171
00172
00173
00174 inline std::ostream& DayaBay::TagAdEvent::fillStream(std::ostream& s) const
00175 {
00176 TagData::fillStream(s);
00177 s << "{ " << "npmts : " << m_npmts << std::endl
00178 << "qsum : " << m_qsum << std::endl
00179 << "qmean : " << m_qmean << std::endl
00180 << "qrms : " << m_qrms << std::endl
00181 << "qmax : " << m_qmax << std::endl
00182 << "tmean : " << m_tmean << std::endl
00183 << "trms : " << m_trms << std::endl << " }";
00184 return s;
00185 }
00186
00187
00188 inline int DayaBay::TagAdEvent::npmts() const
00189 {
00190 return m_npmts;
00191 }
00192
00193 inline void DayaBay::TagAdEvent::setNpmts(int value)
00194 {
00195 m_npmts = value;
00196 }
00197
00198 inline float DayaBay::TagAdEvent::qsum() const
00199 {
00200 return m_qsum;
00201 }
00202
00203 inline void DayaBay::TagAdEvent::setQsum(float value)
00204 {
00205 m_qsum = value;
00206 }
00207
00208 inline float DayaBay::TagAdEvent::qmean() const
00209 {
00210 return m_qmean;
00211 }
00212
00213 inline void DayaBay::TagAdEvent::setQmean(float value)
00214 {
00215 m_qmean = value;
00216 }
00217
00218 inline float DayaBay::TagAdEvent::qrms() const
00219 {
00220 return m_qrms;
00221 }
00222
00223 inline void DayaBay::TagAdEvent::setQrms(float value)
00224 {
00225 m_qrms = value;
00226 }
00227
00228 inline float DayaBay::TagAdEvent::qmax() const
00229 {
00230 return m_qmax;
00231 }
00232
00233 inline void DayaBay::TagAdEvent::setQmax(float value)
00234 {
00235 m_qmax = value;
00236 }
00237
00238 inline float DayaBay::TagAdEvent::tmean() const
00239 {
00240 return m_tmean;
00241 }
00242
00243 inline void DayaBay::TagAdEvent::setTmean(float value)
00244 {
00245 m_tmean = value;
00246 }
00247
00248 inline float DayaBay::TagAdEvent::trms() const
00249 {
00250 return m_trms;
00251 }
00252
00253 inline void DayaBay::TagAdEvent::setTrms(float value)
00254 {
00255 m_trms = value;
00256 }
00257
00258
00259 #endif