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

In This Package:

SimReadoutHeader.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 SimReadoutEvent_SimReadoutHeader_H
00016 #define SimReadoutEvent_SimReadoutHeader_H 1
00017 
00018 // Include files
00019 #include "Event/HeaderObject.h"
00020 #include "GaudiKernel/boost_allocator.h"
00021 #include <vector>
00022 #include <ostream>
00023 
00024 // Forward declarations
00025 
00026 namespace DayaBay 
00027 {
00028 
00029   // Forward declarations
00030   class SimReadout;
00031   
00032   
00033   // Class ID definition
00034   static const CLID CLID_SimReadoutHeader = 51600;
00035   
00036   // Namespace for locations in TDS
00037   namespace SimReadoutHeaderLocation {
00038     static const std::string& Default = "/Event/SimReadout/SimReadoutHeader";
00039   }
00040   
00041 
00051   class SimReadoutHeader: public HeaderObject
00052   {
00053   public:
00054 
00056   static const std::string& defaultLocation() { return SimReadoutHeaderLocation::Default; }
00057   virtual const std::string& defLoc() const { return SimReadoutHeaderLocation::Default; }
00058   
00060     typedef std::vector<DayaBay::SimReadout*> SimReadoutContainer;
00061   
00063     SimReadoutHeader() : m_readouts() {}
00064   
00066   ~SimReadoutHeader();
00067   
00068     // Retrieve pointer to class definition structure
00069     virtual const CLID& clID() const;
00070     static const CLID& classID();
00071   
00073     std::ostream& fillStream(std::ostream& s) const;
00074   
00077   const SimReadoutContainer& readouts() const;
00078   
00081   SimReadoutContainer& readouts();
00082   
00085   void setReadouts(const SimReadoutContainer& value);
00086   
00087   
00088   #ifndef GOD_NOALLOC
00089 
00090     static void* operator new ( size_t size )
00091     {
00092       return ( sizeof(SimReadoutHeader) == size ? 
00093                boost::singleton_pool<SimReadoutHeader, sizeof(SimReadoutHeader)>::malloc() :
00094                ::operator new(size) );
00095     }
00096   
00100     static void* operator new ( size_t size, void* pObj )
00101     {
00102       return ::operator new (size,pObj);
00103     }
00104   
00106     static void operator delete ( void* p )
00107     {
00108       boost::singleton_pool<SimReadoutHeader, sizeof(SimReadoutHeader)>::is_from(p) ?
00109       boost::singleton_pool<SimReadoutHeader, sizeof(SimReadoutHeader)>::free(p) :
00110       ::operator delete(p);
00111     }
00112   
00115     static void operator delete ( void* p, void* pObj )
00116     {
00117       ::operator delete (p, pObj);
00118     }
00119   #endif
00120   protected:
00121 
00122   private:
00123 
00124     SimReadoutContainer m_readouts; 
00125   
00126   }; // class SimReadoutHeader
00127 
00128   inline std::ostream& operator<< (std::ostream& str, const SimReadoutHeader& obj)
00129   {
00130     return obj.fillStream(str);
00131   }
00132   
00133 } // namespace DayaBay;
00134 
00135 // -----------------------------------------------------------------------------
00136 // end of class
00137 // -----------------------------------------------------------------------------
00138 
00139 // Including forward declarations
00140 #include "Event/SimReadout.h"
00141 
00142 
00143 inline DayaBay::SimReadoutHeader::~SimReadoutHeader() 
00144 {
00145 
00146           SimReadoutContainer::iterator it, done = m_readouts.end();
00147           for (it = m_readouts.begin(); it != done; ++it) {
00148             delete *it;
00149           }
00150           m_readouts.clear();
00151         
00152 }
00153 
00154 inline const CLID& DayaBay::SimReadoutHeader::clID() const
00155 {
00156   return DayaBay::SimReadoutHeader::classID();
00157 }
00158 
00159 inline const CLID& DayaBay::SimReadoutHeader::classID()
00160 {
00161   return CLID_SimReadoutHeader;
00162 }
00163 
00164 inline const DayaBay::SimReadoutHeader::SimReadoutContainer& DayaBay::SimReadoutHeader::readouts() const 
00165 {
00166   return m_readouts;
00167 }
00168 
00169 inline DayaBay::SimReadoutHeader::SimReadoutContainer& DayaBay::SimReadoutHeader::readouts() 
00170 {
00171   return m_readouts;
00172 }
00173 
00174 inline void DayaBay::SimReadoutHeader::setReadouts(const SimReadoutContainer& value) 
00175 {
00176   m_readouts = value;
00177 }
00178 
00179 
00180 #endif ///SimReadoutEvent_SimReadoutHeader_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Fri May 16 2014 10:04:50 for SimReadoutEvent by doxygen 1.7.4