Gaudi Framework, version v21r7

Home   Generated: 22 Jan 2010

IRndmGen.h

Go to the documentation of this file.
00001 // $Header: /tmp/svngaudi/tmp.jEpFh25751/Gaudi/GaudiKernel/GaudiKernel/IRndmGen.h,v 1.5 2008/10/27 19:22:20 marcocle 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_IRndmBit(150, 1, 0);
00014 static const InterfaceID IID_IRndmFlat(151, 1, 0);
00015 static const InterfaceID IID_IRndmChi2(152, 1, 0);
00016 static const InterfaceID IID_IRndmGamma(153, 1, 0);
00017 static const InterfaceID IID_IRndmGauss(154, 1, 0);
00018 static const InterfaceID IID_IRndmLandau(155, 1, 0);
00019 static const InterfaceID IID_IRndmPoisson(156, 1, 0);
00020 static const InterfaceID IID_IRndmStudentT(157, 1, 0);
00021 static const InterfaceID IID_IRndmBinomial(158, 1, 0);
00022 static const InterfaceID IID_IRndmExponential(159, 1, 0);
00023 static const InterfaceID IID_IRndmBreitWigner(160, 1, 0);
00024 static const InterfaceID IID_IRndmBreitWignerCutOff(161, 1, 0);
00025 static const InterfaceID IID_IRndmDefinedPdf(162, 1, 0);
00026 static const InterfaceID IID_IRndmGaussianTail(163, 1, 0);
00027 
00028 
00036 class GAUDI_API IRndmGen: virtual public IInterface {
00037 public:
00039   DeclareInterfaceID(IRndmGen,2,0);
00040 
00041   class Param {
00042   protected:
00044     const InterfaceID  m_type;
00045   public:
00047     Param( const InterfaceID& type = IID_IRndmFlat ) : m_type(type) {}
00049     virtual ~Param() {}
00051     virtual const InterfaceID& type() const { return m_type; }
00053     virtual Param* clone() const = 0;
00054   };
00055 
00057   virtual StatusCode initialize(const IRndmGen::Param& par) = 0;
00059   virtual StatusCode finalize() = 0;
00061   virtual const InterfaceID& type() const = 0;
00063   virtual long ID() const = 0;
00065   virtual const IRndmGen::Param* parameters() const = 0;
00067   virtual double shoot() const = 0;
00074   virtual StatusCode shootArray( std::vector<double>& array, long howmany, long start = 0) const = 0;
00075 
00077   virtual ~IRndmGen() {}
00078 
00079 };
00080 
00081 #endif // GAUDIKERNEL_IRNDMGEN_H

Generated at Fri Jan 22 20:27:36 2010 for Gaudi Framework, version v21r7 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004