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

In This Package:

IHeader.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 BaseEvent_IHeader_H
00016 #define BaseEvent_IHeader_H 1
00017 
00018 // Include files
00019 #include "Context/TimeStamp.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 
00040   class IHeader
00041   {
00042   public:
00043 
00045     typedef std::vector<IHeader*> Vector;
00046     typedef std::vector<const IHeader*> ConstVector;
00047   
00048   
00050     IHeader() {}
00051   
00053     virtual ~IHeader() {}
00054   
00056    virtual std::ostream& fillStream(std::ostream& s) const;
00057   
00059     virtual const TimeStamp& timeStamp() const = 0;
00060   
00062     virtual int execNumber() const = 0;
00063   
00065     virtual const std::vector<unsigned long>& randomState() const = 0;
00066   
00068     virtual const std::vector<const DayaBay::IHeader*>& inputHeaders() const = 0;
00069   
00070   
00071   #ifndef GOD_NOALLOC
00073     static void* operator new ( size_t size )
00074     {
00075       return ( sizeof(IHeader) == size ? 
00076                boost::singleton_pool<IHeader, sizeof(IHeader)>::malloc() :
00077                ::operator new(size) );
00078     }
00079   
00083     static void* operator new ( size_t size, void* pObj )
00084     {
00085       return ::operator new (size,pObj);
00086     }
00087   
00089     static void operator delete ( void* p )
00090     {
00091       boost::singleton_pool<IHeader, sizeof(IHeader)>::is_from(p) ?
00092       boost::singleton_pool<IHeader, sizeof(IHeader)>::free(p) :
00093       ::operator delete(p);
00094     }
00095   
00098     static void operator delete ( void* p, void* pObj )
00099     {
00100       ::operator delete (p, pObj);
00101     }
00102   #endif
00103   protected:
00104 
00105   private:
00106 
00107   }; // class IHeader
00108 
00109   inline std::ostream& operator<< (std::ostream& str, const IHeader& obj)
00110   {
00111     return obj.fillStream(str);
00112   }
00113   
00114 } // namespace DayaBay;
00115 
00116 // -----------------------------------------------------------------------------
00117 // end of class
00118 // -----------------------------------------------------------------------------
00119 
00120 // Including forward declarations
00121 
00122 inline std::ostream& DayaBay::IHeader::fillStream(std::ostream& s) const
00123 {
00124   return s;
00125 }
00126 
00127 
00128 
00129 #endif 
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:18:02 2011 for BaseEvent by doxygen 1.4.7