00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef ReadoutEvent_ReadoutTriggerDataFrame_H
00016 #define ReadoutEvent_ReadoutTriggerDataFrame_H 1
00017
00018
00019 #include "Conventions/Trigger.h"
00020 #include "Event/DaqLtbFrame.h"
00021 #include "Context/TimeStamp.h"
00022 #include "GaudiKernel/boost_allocator.h"
00023 #include <ostream>
00024
00025
00026
00027 namespace DayaBay
00028 {
00029
00030
00031 class ReadoutTriggerDataPkg;
00032
00033
00043 class ReadoutTriggerDataFrame
00044 {
00045 public:
00046
00048 ReadoutTriggerDataFrame(const DayaBay::ReadoutTriggerDataFrame& rhs);
00049
00051 ReadoutTriggerDataFrame() : m_package(0),
00052 m_seqNumber(0),
00053 m_readoutType(0),
00054 m_triggerType(),
00055 m_triggerTime(0),
00056 m_cycle(0),
00057 m_nhit(0),
00058 m_esumAdc(0),
00059 m_esumComp(0),
00060 m_crossSource(0) {}
00061
00063 virtual ~ReadoutTriggerDataFrame() {}
00064
00066 DaqLtbFrame* daqLtbFrame(const DayaBay::Detector& detector) const;
00067
00069 ReadoutTriggerDataFrame& operator=(const DayaBay::ReadoutTriggerDataFrame& rhs);
00070
00072 std::ostream& fillStream(std::ostream& s) const;
00073
00076 const DayaBay::ReadoutTriggerDataPkg* package() const;
00077
00080 void setPackage(DayaBay::ReadoutTriggerDataPkg* value);
00081
00084 int seqNumber() const;
00085
00088 void setSeqNumber(int value);
00089
00092 int readoutType() const;
00093
00096 void setReadoutType(int value);
00097
00100 const DayaBay::Trigger::TriggerType_t& triggerType() const;
00101
00104 void setTriggerType(const DayaBay::Trigger::TriggerType_t& value);
00105
00108 const TimeStamp& triggerTime() const;
00109
00112 void setTriggerTime(const TimeStamp& value);
00113
00116 unsigned int cycle() const;
00117
00120 void setCycle(unsigned int value);
00121
00124 int nhit() const;
00125
00128 void setNhit(int value);
00129
00132 int esumAdc() const;
00133
00136 void setEsumAdc(int value);
00137
00140 int esumComp() const;
00141
00144 void setEsumComp(int value);
00145
00148 int crossSource() const;
00149
00152 void setCrossSource(int value);
00153
00154
00155 #ifndef GOD_NOALLOC
00157 static void* operator new ( size_t size )
00158 {
00159 return ( sizeof(ReadoutTriggerDataFrame) == size ?
00160 boost::singleton_pool<ReadoutTriggerDataFrame, sizeof(ReadoutTriggerDataFrame)>::malloc() :
00161 ::operator new(size) );
00162 }
00163
00167 static void* operator new ( size_t size, void* pObj )
00168 {
00169 return ::operator new (size,pObj);
00170 }
00171
00173 static void operator delete ( void* p )
00174 {
00175 boost::singleton_pool<ReadoutTriggerDataFrame, sizeof(ReadoutTriggerDataFrame)>::is_from(p) ?
00176 boost::singleton_pool<ReadoutTriggerDataFrame, sizeof(ReadoutTriggerDataFrame)>::free(p) :
00177 ::operator delete(p);
00178 }
00179
00182 static void operator delete ( void* p, void* pObj )
00183 {
00184 ::operator delete (p, pObj);
00185 }
00186 #endif
00187 protected:
00188
00189 private:
00190
00191 DayaBay::ReadoutTriggerDataPkg* m_package;
00192 int m_seqNumber;
00193 int m_readoutType;
00194 DayaBay::Trigger::TriggerType_t m_triggerType;
00195 TimeStamp m_triggerTime;
00196 unsigned int m_cycle;
00197 int m_nhit;
00198 int m_esumAdc;
00199 int m_esumComp;
00200 int m_crossSource;
00201
00202 };
00203
00204 inline std::ostream& operator<< (std::ostream& str, const ReadoutTriggerDataFrame& obj)
00205 {
00206 return obj.fillStream(str);
00207 }
00208
00209 }
00210
00211
00212
00213
00214
00215
00216 #include "ReadoutTriggerDataPkg.h"
00217
00218
00219 inline const DayaBay::ReadoutTriggerDataPkg* DayaBay::ReadoutTriggerDataFrame::package() const
00220 {
00221 return m_package;
00222 }
00223
00224 inline void DayaBay::ReadoutTriggerDataFrame::setPackage(DayaBay::ReadoutTriggerDataPkg* value)
00225 {
00226 m_package = value;
00227 }
00228
00229 inline int DayaBay::ReadoutTriggerDataFrame::seqNumber() const
00230 {
00231 return m_seqNumber;
00232 }
00233
00234 inline void DayaBay::ReadoutTriggerDataFrame::setSeqNumber(int value)
00235 {
00236 m_seqNumber = value;
00237 }
00238
00239 inline int DayaBay::ReadoutTriggerDataFrame::readoutType() const
00240 {
00241 return m_readoutType;
00242 }
00243
00244 inline void DayaBay::ReadoutTriggerDataFrame::setReadoutType(int value)
00245 {
00246 m_readoutType = value;
00247 }
00248
00249 inline const DayaBay::Trigger::TriggerType_t& DayaBay::ReadoutTriggerDataFrame::triggerType() const
00250 {
00251 return m_triggerType;
00252 }
00253
00254 inline void DayaBay::ReadoutTriggerDataFrame::setTriggerType(const DayaBay::Trigger::TriggerType_t& value)
00255 {
00256 m_triggerType = value;
00257 }
00258
00259 inline const TimeStamp& DayaBay::ReadoutTriggerDataFrame::triggerTime() const
00260 {
00261 return m_triggerTime;
00262 }
00263
00264 inline void DayaBay::ReadoutTriggerDataFrame::setTriggerTime(const TimeStamp& value)
00265 {
00266 m_triggerTime = value;
00267 }
00268
00269 inline unsigned int DayaBay::ReadoutTriggerDataFrame::cycle() const
00270 {
00271 return m_cycle;
00272 }
00273
00274 inline void DayaBay::ReadoutTriggerDataFrame::setCycle(unsigned int value)
00275 {
00276 m_cycle = value;
00277 }
00278
00279 inline int DayaBay::ReadoutTriggerDataFrame::nhit() const
00280 {
00281 return m_nhit;
00282 }
00283
00284 inline void DayaBay::ReadoutTriggerDataFrame::setNhit(int value)
00285 {
00286 m_nhit = value;
00287 }
00288
00289 inline int DayaBay::ReadoutTriggerDataFrame::esumAdc() const
00290 {
00291 return m_esumAdc;
00292 }
00293
00294 inline void DayaBay::ReadoutTriggerDataFrame::setEsumAdc(int value)
00295 {
00296 m_esumAdc = value;
00297 }
00298
00299 inline int DayaBay::ReadoutTriggerDataFrame::esumComp() const
00300 {
00301 return m_esumComp;
00302 }
00303
00304 inline void DayaBay::ReadoutTriggerDataFrame::setEsumComp(int value)
00305 {
00306 m_esumComp = value;
00307 }
00308
00309 inline int DayaBay::ReadoutTriggerDataFrame::crossSource() const
00310 {
00311 return m_crossSource;
00312 }
00313
00314 inline void DayaBay::ReadoutTriggerDataFrame::setCrossSource(int value)
00315 {
00316 m_crossSource = value;
00317 }
00318
00319
00320 #endif