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

In This Package:

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

Generated on Mon Apr 11 20:20:34 2011 for JobInfo by doxygen 1.4.7