| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
IRndmGen.h
Go to the documentation of this file.
1 // $Header: /tmp/svngaudi/tmp.jEpFh25751/Gaudi/GaudiKernel/GaudiKernel/IRndmGen.h,v 1.5 2008/10/27 19:22:20 marcocle Exp $
2 #ifndef GAUDIKERNEL_IRNDMGEN_H
3 #define GAUDIKERNEL_IRNDMGEN_H
4
5 // STL include files
6 #include <string>
7 #include <vector>
8
9 // Framework include files
10 #include "GaudiKernel/IInterface.h"
11
12 // Declaration of the interface ID ( interface id, major version, minor version)
13 static const InterfaceID IID_IRndmBit(150, 1, 0);
14 static const InterfaceID IID_IRndmFlat(151, 1, 0);
15 static const InterfaceID IID_IRndmChi2(152, 1, 0);
16 static const InterfaceID IID_IRndmGamma(153, 1, 0);
17 static const InterfaceID IID_IRndmGauss(154, 1, 0);
18 static const InterfaceID IID_IRndmLandau(155, 1, 0);
19 static const InterfaceID IID_IRndmPoisson(156, 1, 0);
20 static const InterfaceID IID_IRndmStudentT(157, 1, 0);
21 static const InterfaceID IID_IRndmBinomial(158, 1, 0);
22 static const InterfaceID IID_IRndmExponential(159, 1, 0);
23 static const InterfaceID IID_IRndmBreitWigner(160, 1, 0);
24 static const InterfaceID IID_IRndmBreitWignerCutOff(161, 1, 0);
25 static const InterfaceID IID_IRndmDefinedPdf(162, 1, 0);
26 static const InterfaceID IID_IRndmGaussianTail(163, 1, 0);
27
28
36 class GAUDI_API IRndmGen: virtual public IInterface {
37 public:
39 DeclareInterfaceID(IRndmGen,2,0);
40
41 class Param {
42 protected:
44 const InterfaceID m_type;
45 public:
47 Param( const InterfaceID& type = IID_IRndmFlat ) : m_type(type) {}
49 virtual ~Param() {}
51 virtual const InterfaceID& type() const { return m_type; }
53 virtual Param* clone() const = 0;
54 };
55
57 virtual StatusCode initialize(const IRndmGen::Param& par) = 0;
59 virtual StatusCode finalize() = 0;
61 virtual const InterfaceID& type() const = 0;
63 virtual long ID() const = 0;
65 virtual const IRndmGen::Param* parameters() const = 0;
67 virtual double shoot() const = 0;
74 virtual StatusCode shootArray( std::vector<double>& array, long howmany, long start = 0) const = 0;
75
77 virtual ~IRndmGen() {}
78
79 };
80
81 #endif // GAUDIKERNEL_IRNDMGEN_H