/search.css" rel="stylesheet" type="text/css"/> /search.js">
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

TESDemoPositron.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 TESDemoData_TESDemoPositron_H
00016 #define TESDemoData_TESDemoPositron_H 1
00017 
00018 // Include files
00019 #include "Context/TimeStamp.h"
00020 #include "Event/TemporalDataObject.h"
00021 #include "Event/TESDemoReadout.h"
00022 #include "Event/TESDemoTracer.h"
00023 #include "GaudiKernel/boost_allocator.h"
00024 #include "GaudiKernel/SmartRef.h"
00025 #include <ostream>
00026 
00027 // Forward declarations
00028 
00029 namespace DayaBay 
00030 {
00031 
00032   // Forward declarations
00033 
00043   class TESDemoPositron: public TemporalDataObject, virtual public TESDemoTracer
00044   {
00045   public:
00046 
00048   TESDemoPositron(const TimeStamp& timeStamp,
00049                     const DayaBay::TESDemoReadout* readout);
00050   
00052     TESDemoPositron() : m_timeStamp() {}
00053   
00055   virtual ~TESDemoPositron();
00056   
00058    virtual std::ostream& fillStream(std::ostream& s) const;
00059   
00061     void setReadout(const SmartRef<DayaBay::TESDemoReadout>& value);
00062   
00064     void setReadout(const DayaBay::TESDemoReadout* value);
00065   
00068   const TimeStamp& timeStamp() const;
00069   
00072   void setTimeStamp(const TimeStamp& value);
00073   
00076   const DayaBay::TESDemoReadout* readout() const;
00077   
00078   
00079   #ifndef GOD_NOALLOC
00080 
00081     static void* operator new ( size_t size )
00082     {
00083       return ( sizeof(TESDemoPositron) == size ? 
00084                boost::singleton_pool<TESDemoPositron, sizeof(TESDemoPositron)>::malloc() :
00085                ::operator new(size) );
00086     }
00087   
00091     static void* operator new ( size_t size, void* pObj )
00092     {
00093       return ::operator new (size,pObj);
00094     }
00095   
00097     static void operator delete ( void* p )
00098     {
00099       boost::singleton_pool<TESDemoPositron, sizeof(TESDemoPositron)>::is_from(p) ?
00100       boost::singleton_pool<TESDemoPositron, sizeof(TESDemoPositron)>::free(p) :
00101       ::operator delete(p);
00102     }
00103   
00106     static void operator delete ( void* p, void* pObj )
00107     {
00108       ::operator delete (p, pObj);
00109     }
00110   #endif
00111   protected:
00112 
00113   private:
00114 
00115     TimeStamp                         m_timeStamp; 
00116     SmartRef<DayaBay::TESDemoReadout> m_readout;   
00117   
00118   }; // class TESDemoPositron
00119 
00120   inline std::ostream& operator<< (std::ostream& str, const TESDemoPositron& obj)
00121   {
00122     return obj.fillStream(str);
00123   }
00124   
00125 } // namespace DayaBay;
00126 
00127 // -----------------------------------------------------------------------------
00128 // end of class
00129 // -----------------------------------------------------------------------------
00130 
00131 // Including forward declarations
00132 
00133 inline DayaBay::TESDemoPositron::TESDemoPositron(const TimeStamp& timeStamp,
00134                                                  const DayaBay::TESDemoReadout* readout) 
00135 {
00136 
00137           setTimeStamp(timeStamp);
00138           setReadout(readout);
00139           setEarliest(timeStamp);
00140           setLatest(timeStamp);
00141         
00142 }
00143 
00144 inline DayaBay::TESDemoPositron::~TESDemoPositron() 
00145 {
00146 
00147           // Takes care of reference counting
00148           setReadout(0);
00149         
00150 }
00151 
00152 inline std::ostream& DayaBay::TESDemoPositron::fillStream(std::ostream& s) const
00153 {
00154   TemporalDataObject::fillStream(s);
00155   TESDemoTracer::fillStream(s);
00156   s << "{ " << "timeStamp :     " << m_timeStamp << std::endl << " }";
00157   return s;
00158 }
00159 
00160 
00161 inline const TimeStamp& DayaBay::TESDemoPositron::timeStamp() const 
00162 {
00163   return m_timeStamp;
00164 }
00165 
00166 inline void DayaBay::TESDemoPositron::setTimeStamp(const TimeStamp& value) 
00167 {
00168   m_timeStamp = value;
00169 }
00170 
00171 inline const DayaBay::TESDemoReadout* DayaBay::TESDemoPositron::readout() const 
00172 {
00173   return m_readout;
00174 }
00175 
00176 
00177 #endif ///TESDemoData_TESDemoPositron_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Fri May 16 2014 10:08:47 for TESDemoData by doxygen 1.7.4