/search.css" rel="stylesheet" type="text/css"/> /search.js">
| 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 "EventReadoutFormat/EventReadout.h"
00023 #include "GaudiKernel/boost_allocator.h"
00024 #include <ostream>
00025 
00026 // Forward declarations
00027 
00028 namespace DayaBay 
00029 {
00030 
00031   // Forward declarations
00032   class ReadoutHeader;
00033   
00034 
00044   class Readout
00045   {
00046   public:
00047 
00049   Readout(const DayaBay::Detector& detector,
00050             unsigned int triggerNumber,
00051             const TimeStamp& triggerTime,
00052             const DayaBay::Trigger::TriggerType_t& triggerType) : m_detector(detector),
00053                                                                        m_triggerNumber(triggerNumber),
00054                                                                        m_triggerTime(triggerTime),
00055                                                                        m_triggerType(triggerType),
00056                                                                                      m_header(0) {}
00057   
00059     Readout() : m_detector(0),
00060                 m_triggerNumber(0),
00061                 m_triggerTime(0),
00062                 m_triggerType(),
00063                 m_eventReadout(0),
00064                 m_header(0) {}
00065   
00067     Readout(const Readout & rh);
00068   
00070      Readout & operator=(const Readout & rh);
00071   
00073   virtual ~Readout();
00074   
00076    virtual std::ostream& fillStream(std::ostream& s) const;
00077   
00080   const DayaBay::Detector& detector() const;
00081   
00084   void setDetector(const DayaBay::Detector& value);
00085   
00088   unsigned int triggerNumber() const;
00089   
00092   void setTriggerNumber(unsigned int value);
00093   
00096   const TimeStamp& triggerTime() const;
00097   
00100   void setTriggerTime(const TimeStamp& value);
00101   
00104   const DayaBay::Trigger::TriggerType_t& triggerType() const;
00105   
00108   void setTriggerType(const DayaBay::Trigger::TriggerType_t& value);
00109   
00112   const DybDaq::EventReadout* eventReadout() const;
00113   
00116   void setEventReadout(DybDaq::EventReadout* value);
00117   
00120   const DayaBay::ReadoutHeader* header() const;
00121   
00124   void setHeader(DayaBay::ReadoutHeader* value);
00125   
00126   
00127   #ifndef GOD_NOALLOC
00128 
00129     static void* operator new ( size_t size )
00130     {
00131       return ( sizeof(Readout) == size ? 
00132                boost::singleton_pool<Readout, sizeof(Readout)>::malloc() :
00133                ::operator new(size) );
00134     }
00135   
00139     static void* operator new ( size_t size, void* pObj )
00140     {
00141       return ::operator new (size,pObj);
00142     }
00143   
00145     static void operator delete ( void* p )
00146     {
00147       boost::singleton_pool<Readout, sizeof(Readout)>::is_from(p) ?
00148       boost::singleton_pool<Readout, sizeof(Readout)>::free(p) :
00149       ::operator delete(p);
00150     }
00151   
00154     static void operator delete ( void* p, void* pObj )
00155     {
00156       ::operator delete (p, pObj);
00157     }
00158   #endif
00159   protected:
00160 
00161   private:
00162 
00163     DayaBay::Detector               m_detector;      
00164     unsigned int                    m_triggerNumber; 
00165     TimeStamp                       m_triggerTime;   
00166     DayaBay::Trigger::TriggerType_t m_triggerType;   
00167     DybDaq::EventReadout*           m_eventReadout;  
00168     DayaBay::ReadoutHeader*         m_header;        
00169   
00170   }; // class Readout
00171 
00172   inline std::ostream& operator<< (std::ostream& str, const Readout& obj)
00173   {
00174     return obj.fillStream(str);
00175   }
00176   
00177 } // namespace DayaBay;
00178 
00179 // -----------------------------------------------------------------------------
00180 // end of class
00181 // -----------------------------------------------------------------------------
00182 
00183 // Including forward declarations
00184 #include "ReadoutHeader.h"
00185 
00186 
00187 inline DayaBay::Readout::Readout(const DayaBay::Readout & rh) : 
00188    m_detector( rh.m_detector ),
00189    m_triggerNumber( rh.m_triggerNumber ),
00190    m_triggerTime( rh.m_triggerTime ),
00191    m_triggerType( rh.m_triggerType ),
00192    m_eventReadout( rh.m_eventReadout ),
00193    m_header( rh.m_header )
00194    {}
00195 
00196 inline DayaBay::Readout & DayaBay::Readout::operator=(const DayaBay::Readout & rh) {
00197   if ( this != &rh ) {
00198     m_detector      = rh.m_detector;
00199     m_triggerNumber = rh.m_triggerNumber;
00200     m_triggerTime   = rh.m_triggerTime;
00201     m_triggerType   = rh.m_triggerType;
00202     m_eventReadout  = rh.m_eventReadout;
00203     m_header        = rh.m_header;
00204   }
00205   return *this;
00206 }
00207 
00208 inline DayaBay::Readout::~Readout() 
00209 {
00210 
00211          
00212 }
00213 
00214 inline std::ostream& DayaBay::Readout::fillStream(std::ostream& s) const
00215 {
00216   s << "{ " << "detector :      " << m_detector << std::endl
00217             << "triggerNumber : " << m_triggerNumber << std::endl
00218             << "triggerTime :   " << m_triggerTime << std::endl
00219             << "triggerType :   " << m_triggerType << std::endl
00220             << "eventReadout :  " << m_eventReadout << std::endl
00221             << "header :        " << m_header << std::endl << " }";
00222   return s;
00223 }
00224 
00225 
00226 inline const DayaBay::Detector& DayaBay::Readout::detector() const 
00227 {
00228   return m_detector;
00229 }
00230 
00231 inline void DayaBay::Readout::setDetector(const DayaBay::Detector& value) 
00232 {
00233   m_detector = value;
00234 }
00235 
00236 inline unsigned int DayaBay::Readout::triggerNumber() const 
00237 {
00238   return m_triggerNumber;
00239 }
00240 
00241 inline void DayaBay::Readout::setTriggerNumber(unsigned int value) 
00242 {
00243   m_triggerNumber = value;
00244 }
00245 
00246 inline const TimeStamp& DayaBay::Readout::triggerTime() const 
00247 {
00248   return m_triggerTime;
00249 }
00250 
00251 inline void DayaBay::Readout::setTriggerTime(const TimeStamp& value) 
00252 {
00253   m_triggerTime = value;
00254 }
00255 
00256 inline const DayaBay::Trigger::TriggerType_t& DayaBay::Readout::triggerType() const 
00257 {
00258   return m_triggerType;
00259 }
00260 
00261 inline void DayaBay::Readout::setTriggerType(const DayaBay::Trigger::TriggerType_t& value) 
00262 {
00263   m_triggerType = value;
00264 }
00265 
00266 inline const DybDaq::EventReadout* DayaBay::Readout::eventReadout() const 
00267 {
00268   return m_eventReadout;
00269 }
00270 
00271 inline void DayaBay::Readout::setEventReadout(DybDaq::EventReadout* value) 
00272 {
00273   m_eventReadout = value;
00274 }
00275 
00276 inline const DayaBay::ReadoutHeader* DayaBay::Readout::header() const 
00277 {
00278   return m_header;
00279 }
00280 
00281 inline void DayaBay::Readout::setHeader(DayaBay::ReadoutHeader* value) 
00282 {
00283   m_header = value;
00284 }
00285 
00286 
00287 #endif ///ReadoutEvent_Readout_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Fri May 16 2014 10:01:16 for ReadoutEvent by doxygen 1.7.4