00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef RawEvent_RawLtbFrameUTC_H
00016 #define RawEvent_RawLtbFrameUTC_H 1
00017
00018
00019 #include "Context/TimeStamp.h"
00020 #include "Event/RawLtbFrame.h"
00021 #include "GaudiKernel/boost_allocator.h"
00022 #include <ostream>
00023
00024
00025
00026 namespace DayaBay
00027 {
00028
00029
00030
00040 class RawLtbFrameUTC: public RawLtbFrame
00041 {
00042 public:
00043
00045 RawLtbFrameUTC() : m_day(0),
00046 m_hour(0),
00047 m_minute(0),
00048 m_second(0) {}
00049
00051 virtual ~RawLtbFrameUTC() {}
00052
00054 virtual std::ostream& fillStream(std::ostream& s) const;
00055
00058 int day() const;
00059
00062 void setDay(int value);
00063
00066 int hour() const;
00067
00070 void setHour(int value);
00071
00074 int minute() const;
00075
00078 void setMinute(int value);
00079
00082 int second() const;
00083
00086 void setSecond(int value);
00087
00088
00089 #ifndef GOD_NOALLOC
00091 static void* operator new ( size_t size )
00092 {
00093 return ( sizeof(RawLtbFrameUTC) == size ?
00094 boost::singleton_pool<RawLtbFrameUTC, sizeof(RawLtbFrameUTC)>::malloc() :
00095 ::operator new(size) );
00096 }
00097
00101 static void* operator new ( size_t size, void* pObj )
00102 {
00103 return ::operator new (size,pObj);
00104 }
00105
00107 static void operator delete ( void* p )
00108 {
00109 boost::singleton_pool<RawLtbFrameUTC, sizeof(RawLtbFrameUTC)>::is_from(p) ?
00110 boost::singleton_pool<RawLtbFrameUTC, sizeof(RawLtbFrameUTC)>::free(p) :
00111 ::operator delete(p);
00112 }
00113
00116 static void operator delete ( void* p, void* pObj )
00117 {
00118 ::operator delete (p, pObj);
00119 }
00120 #endif
00121 protected:
00122
00123 private:
00124
00125 int m_day;
00126 int m_hour;
00127 int m_minute;
00128 int m_second;
00129
00130 };
00131
00132 inline std::ostream& operator<< (std::ostream& str, const RawLtbFrameUTC& obj)
00133 {
00134 return obj.fillStream(str);
00135 }
00136
00137 }
00138
00139
00140
00141
00142
00143
00144
00145 inline std::ostream& DayaBay::RawLtbFrameUTC::fillStream(std::ostream& s) const
00146 {
00147 RawLtbFrame::fillStream(s);
00148 s << "{ " << "day : " << m_day << std::endl
00149 << "hour : " << m_hour << std::endl
00150 << "minute : " << m_minute << std::endl
00151 << "second : " << m_second << std::endl << " }";
00152 return s;
00153 }
00154
00155
00156 inline int DayaBay::RawLtbFrameUTC::day() const
00157 {
00158 return m_day;
00159 }
00160
00161 inline void DayaBay::RawLtbFrameUTC::setDay(int value)
00162 {
00163 m_day = value;
00164 }
00165
00166 inline int DayaBay::RawLtbFrameUTC::hour() const
00167 {
00168 return m_hour;
00169 }
00170
00171 inline void DayaBay::RawLtbFrameUTC::setHour(int value)
00172 {
00173 m_hour = value;
00174 }
00175
00176 inline int DayaBay::RawLtbFrameUTC::minute() const
00177 {
00178 return m_minute;
00179 }
00180
00181 inline void DayaBay::RawLtbFrameUTC::setMinute(int value)
00182 {
00183 m_minute = value;
00184 }
00185
00186 inline int DayaBay::RawLtbFrameUTC::second() const
00187 {
00188 return m_second;
00189 }
00190
00191 inline void DayaBay::RawLtbFrameUTC::setSecond(int value)
00192 {
00193 m_second = value;
00194 }
00195
00196
00197 #endif