Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

IRndmGen.h

Go to the documentation of this file.
00001 // $Header: /nfs/slac/g/glast/ground/cvs/GaudiKernel/GaudiKernel/IRndmGen.h,v 1.1.1.1 2001/04/18 18:14:18 tlindner Exp $
00002 #ifndef GAUDIKERNEL_IRNDMGEN_H
00003 #define GAUDIKERNEL_IRNDMGEN_H
00004 
00005 // STL include files
00006 #include <string>
00007 #include <vector>
00008 
00009 // Framework include files
00010 #include "GaudiKernel/IInterface.h"
00011 
00012 // Declaration of the interface ID ( interface id, major version, minor version) 
00013 static const InterfaceID IID_IRndmGen(140, 1, 0);
00014 static const InterfaceID IID_IRndmBit(150, 1, 0);
00015 static const InterfaceID IID_IRndmFlat(151, 1, 0);
00016 static const InterfaceID IID_IRndmChi2(152, 1, 0);
00017 static const InterfaceID IID_IRndmGamma(153, 1, 0);
00018 static const InterfaceID IID_IRndmGauss(154, 1, 0);
00019 static const InterfaceID IID_IRndmLandau(155, 1, 0);
00020 static const InterfaceID IID_IRndmPoisson(156, 1, 0);
00021 static const InterfaceID IID_IRndmStudentT(157, 1, 0);
00022 static const InterfaceID IID_IRndmBinomial(158, 1, 0);
00023 static const InterfaceID IID_IRndmExponential(159, 1, 0);
00024 static const InterfaceID IID_IRndmBreitWigner(160, 1, 0);
00025 static const InterfaceID IID_IRndmBreitWignerCutOff(161, 1, 0);
00026 static const InterfaceID IID_IRndmDefinedPdf(162, 1, 0);
00027 
00028 
00036 class IRndmGen : virtual public IInterface    {
00037 public:
00038 
00039   class Param     {
00040   protected:
00042     const InterfaceID  m_type;
00043   public: 
00045     Param( const InterfaceID& type = IID_IRndmFlat ) : m_type(type) {
00046     }
00048     virtual ~Param()    {
00049     }
00051     virtual const IID& type() const   {
00052       return m_type;
00053     }
00055     virtual Param* clone()  const = 0;
00056   };
00057 
00059   static const InterfaceID& interfaceID() { return IID_IRndmGen; }
00061   virtual StatusCode initialize(const IRndmGen::Param& par) = 0;
00063   virtual StatusCode finalize() = 0;
00065   virtual const IID& type() const = 0;
00067   virtual const long ID() const = 0;
00069   virtual const IRndmGen::Param* parameters() const = 0;
00071   virtual double shoot() const = 0;
00078   virtual StatusCode shootArray( std::vector<double>& array, long howmany, long start = 0) const = 0;
00079 };
00080 
00081 #endif // GAUDIKERNEL_IRNDMGEN_H

Generated at Wed Nov 21 12:22:04 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000