| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

Readout.h

Go to the documentation of this file.
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 ReadoutEvent_Readout_H
00016 #define ReadoutEvent_Readout_H 1
00017 
00018 // Include files
00019 #include "Context/TimeStamp.h"
00020 #include "Conventions/Detectors.h"
00021 #include "Conventions/Trigger.h"
00022 #include "RawData/RawData.h"
00023 #include "EventReadoutFormat/EventReadout.h"
00024 #include "GaudiKernel/boost_allocator.h"
00025 #include <ostream>
00026 
00027 // Forward declarations
00028 
00029 namespace DayaBay 
00030 {
00031 
00032   // Forward declarations
00033   class ReadoutHeader;
00034   
00035 
00045   class Readout
00046   {
00047   public:
00048 
00050   Readout(const DayaBay::Detector& detector,
00051             unsigned int triggerNumber,
00052             const TimeStamp& triggerTime,
00053             const DayaBay::Trigger::TriggerType_t& triggerType) : m_detector(detector),
00054                                                                        m_triggerNumber(triggerNumber),
00055                                                                        m_triggerTime(triggerTime),
00056                                                                        m_triggerType(triggerType),
00057                                                                                      m_rawEvent(0),
00058                                                                                      m_header(0) {}
00059   
00061     Readout() : m_detector(0),
00062                 m_triggerNumber(0),
00063                 m_triggerTime(0),
00064                 m_triggerType(),
00065                 m_rawEvent(0),
00066                 m_eventReadout(0),
00067                 m_header(0) {}
00068   
00070     Readout(const Readout & rh);
00071   
00073      Readout & operator=(const Readout & rh);
00074   
00076   virtual ~Readout();
00077   
00079    virtual std::ostream& fillStream(std::ostream& s) const;
00080   
00083   const DayaBay::Detector& detector() const;
00084   
00087   void setDetector(const DayaBay::Detector& value);
00088   
00091   unsigned int triggerNumber() const;
00092   
00095   void setTriggerNumber(unsigned int value);
00096   
00099   const TimeStamp& triggerTime() const;
00100   
00103   void setTriggerTime(const TimeStamp& value);
00104   
00107   const DayaBay::Trigger::TriggerType_t& triggerType() const;
00108   
00111   void setTriggerType(const DayaBay::Trigger::TriggerType_t& value);
00112   
00115   const DayaBay::RawEvent* rawEvent() const;
00116   
00119   DayaBay::RawEvent* rawEvent();
00120   
00123   void setRawEvent(DayaBay::RawEvent* value);
00124   
00127   const DybDaq::EventReadout* eventReadout() const;
00128   
00131   void setEventReadout(DybDaq::EventReadout* value);
00132   
00135   const DayaBay::ReadoutHeader* header() const;
00136   
00139   void setHeader(DayaBay::ReadoutHeader* value);
00140   
00141   
00142   #ifndef GOD_NOALLOC
00144     static void* operator new ( size_t size )
00145     {
00146       return ( sizeof(Readout) == size ? 
00147                boost::singleton_pool<Readout, sizeof(Readout)>::malloc() :
00148                ::operator new(size) );
00149     }
00150   
00154     static void* operator new ( size_t size, void* pObj )
00155     {
00156       return ::operator new (size,pObj);
00157     }
00158   
00160     static void operator delete ( void* p )
00161     {
00162       boost::singleton_pool<Readout, sizeof(Readout)>::is_from(p) ?
00163       boost::singleton_pool<Readout, sizeof(Readout)>::free(p) :
00164       ::operator delete(p);
00165     }
00166   
00169     static void operator delete ( void* p, void* pObj )
00170     {
00171       ::operator delete (p, pObj);
00172     }
00173   #endif
00174   protected:
00175 
00176   private:
00177 
00178     DayaBay::Detector               m_detector;      
00179     unsigned int                    m_triggerNumber; 
00180     TimeStamp                       m_triggerTime;   
00181     DayaBay::Trigger::TriggerType_t m_triggerType;   
00182     DayaBay::RawEvent*              m_rawEvent;      
00183     DybDaq::EventReadout*           m_eventReadout;  
00184     DayaBay::ReadoutHeader*         m_header;        
00185   
00186   }; // class Readout
00187 
00188   inline std::ostream& operator<< (std::ostream& str, const Readout& obj)
00189   {
00190     return obj.fillStream(str);
00191   }
00192   
00193 } // namespace DayaBay;
00194 
00195 // -----------------------------------------------------------------------------
00196 // end of class
00197 // -----------------------------------------------------------------------------
00198 
00199 // Including forward declarations
00200 #include "ReadoutHeader.h"
00201 
00202 
00203 inline DayaBay::Readout::Readout(const DayaBay::Readout & rh) : 
00204    m_detector( rh.m_detector ),
00205    m_triggerNumber( rh.m_triggerNumber ),
00206    m_triggerTime( rh.m_triggerTime ),
00207    m_triggerType( rh.m_triggerType ),
00208    m_rawEvent( rh.m_rawEvent ),
00209    m_eventReadout( rh.m_eventReadout ),
00210    m_header( rh.m_header )
00211    {}
00212 
00213 inline DayaBay::Readout & DayaBay::Readout::operator=(const DayaBay::Readout & rh) {
00214   if ( this != &rh ) {
00215     m_detector      = rh.m_detector;
00216     m_triggerNumber = rh.m_triggerNumber;
00217     m_triggerTime   = rh.m_triggerTime;
00218     m_triggerType   = rh.m_triggerType;
00219     m_rawEvent      = rh.m_rawEvent;
00220     m_eventReadout  = rh.m_eventReadout;
00221     m_header        = rh.m_header;
00222   }
00223   return *this;
00224 }
00225 
00226 inline DayaBay::Readout::~Readout() 
00227 {
00228 
00229            delete m_rawEvent;
00230            m_rawEvent = 0;
00231          
00232 }
00233 
00234 inline std::ostream& DayaBay::Readout::fillStream(std::ostream& s) const
00235 {
00236   s << "{ " << "detector :      " << m_detector << std::endl
00237             << "triggerNumber : " << m_triggerNumber << std::endl
00238             << "triggerTime :   " << m_triggerTime << std::endl
00239             << "triggerType :   " << m_triggerType << std::endl
00240             << "rawEvent :      " << m_rawEvent << std::endl
00241             << "eventReadout :  " << m_eventReadout << std::endl
00242             << "header :        " << m_header << std::endl << " }";
00243   return s;
00244 }
00245 
00246 
00247 inline const DayaBay::Detector& DayaBay::Readout::detector() const 
00248 {
00249   return m_detector;
00250 }
00251 
00252 inline void DayaBay::Readout::setDetector(const DayaBay::Detector& value) 
00253 {
00254   m_detector = value;
00255 }
00256 
00257 inline unsigned int DayaBay::Readout::triggerNumber() const 
00258 {
00259   return m_triggerNumber;
00260 }
00261 
00262 inline void DayaBay::Readout::setTriggerNumber(unsigned int value) 
00263 {
00264   m_triggerNumber = value;
00265 }
00266 
00267 inline const TimeStamp& DayaBay::Readout::triggerTime() const 
00268 {
00269   return m_triggerTime;
00270 }
00271 
00272 inline void DayaBay::Readout::setTriggerTime(const TimeStamp& value) 
00273 {
00274   m_triggerTime = value;
00275 }
00276 
00277 inline const DayaBay::Trigger::TriggerType_t& DayaBay::Readout::triggerType() const 
00278 {
00279   return m_triggerType;
00280 }
00281 
00282 inline void DayaBay::Readout::setTriggerType(const DayaBay::Trigger::TriggerType_t& value) 
00283 {
00284   m_triggerType = value;
00285 }
00286 
00287 inline const DayaBay::RawEvent* DayaBay::Readout::rawEvent() const 
00288 {
00289   return m_rawEvent;
00290 }
00291 
00292 inline DayaBay::RawEvent* DayaBay::Readout::rawEvent() 
00293 {
00294   return m_rawEvent;
00295 }
00296 
00297 inline void DayaBay::Readout::setRawEvent(DayaBay::RawEvent* value) 
00298 {
00299   m_rawEvent = value;
00300 }
00301 
00302 inline const DybDaq::EventReadout* DayaBay::Readout::eventReadout() const 
00303 {
00304   return m_eventReadout;
00305 }
00306 
00307 inline void DayaBay::Readout::setEventReadout(DybDaq::EventReadout* value) 
00308 {
00309   m_eventReadout = value;
00310 }
00311 
00312 inline const DayaBay::ReadoutHeader* DayaBay::Readout::header() const 
00313 {
00314   return m_header;
00315 }
00316 
00317 inline void DayaBay::Readout::setHeader(DayaBay::ReadoutHeader* value) 
00318 {
00319   m_header = value;
00320 }
00321 
00322 
00323 #endif 
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:24:49 2011 for ReadoutEvent by doxygen 1.4.7