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

In This Package:

RunHeader.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 RunData_RunHeader_H
00016 #define RunData_RunHeader_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 RunData;
00031   
00032   
00033   // Class ID definition
00034   static const CLID CLID_RunHeader = 51900;
00035   
00036   // Namespace for locations in TDS
00037   namespace RunHeaderLocation {
00038     static const std::string& Default = "/RunHeader";
00039   }
00040   
00041 
00051   class RunHeader: public HeaderObject
00052   {
00053   public:
00054 
00056   static const std::string& defaultLocation() { return RunHeaderLocation::Default; }
00057   virtual const std::string& defLoc() const { return RunHeaderLocation::Default; }
00058   
00060     typedef std::vector<DayaBay::RunData*> RunDataContainer;
00061   
00063     RunHeader() : m_runDataList() {}
00064   
00066   ~RunHeader();
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 RunDataContainer& runDataList() const;
00078   
00081   RunDataContainer& runDataList();
00082   
00085   void setRunDataList(const RunDataContainer& value);
00086   
00087   
00088   #ifndef GOD_NOALLOC
00090     static void* operator new ( size_t size )
00091     {
00092       return ( sizeof(RunHeader) == size ? 
00093                boost::singleton_pool<RunHeader, sizeof(RunHeader)>::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<RunHeader, sizeof(RunHeader)>::is_from(p) ?
00109       boost::singleton_pool<RunHeader, sizeof(RunHeader)>::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     RunDataContainer m_runDataList; 
00125   
00126   }; // class RunHeader
00127 
00128   inline std::ostream& operator<< (std::ostream& str, const RunHeader& 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/RunData.h"
00141 
00142 
00143 inline DayaBay::RunHeader::~RunHeader() 
00144 {
00145 
00146           RunDataContainer::iterator it, done = m_runDataList.end();
00147           for (it = m_runDataList.begin(); it != done; ++it) {
00148             delete *it;
00149           }
00150           m_runDataList.clear();
00151         
00152 }
00153 
00154 inline const CLID& DayaBay::RunHeader::clID() const
00155 {
00156   return DayaBay::RunHeader::classID();
00157 }
00158 
00159 inline const CLID& DayaBay::RunHeader::classID()
00160 {
00161   return CLID_RunHeader;
00162 }
00163 
00164 inline const DayaBay::RunHeader::RunDataContainer& DayaBay::RunHeader::runDataList() const 
00165 {
00166   return m_runDataList;
00167 }
00168 
00169 inline DayaBay::RunHeader::RunDataContainer& DayaBay::RunHeader::runDataList() 
00170 {
00171   return m_runDataList;
00172 }
00173 
00174 inline void DayaBay::RunHeader::setRunDataList(const RunDataContainer& value) 
00175 {
00176   m_runDataList = value;
00177 }
00178 
00179 
00180 #endif 
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:22:13 2011 for RunData by doxygen 1.4.7