All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RndmGen.h
Go to the documentation of this file.
1 //====================================================================
2 // Random RndmGen class definition
3 //--------------------------------------------------------------------
4 //
5 // Package : Gaudi/RndmGen ( The LHCb Offline System)
6 // Author : M.Frank
7 //====================================================================
8 #ifndef GAUDI_RANDOMGENSVC_RNDMGEN_H
9 #define GAUDI_RANDOMGENSVC_RNDMGEN_H 1
10 
11 // Framework include files
12 #include "GaudiKernel/IRndmGen.h"
13 
14 // Forward declarations
15 class IRndmEngine;
16 
39 class RndmGen : public implements1<IRndmGen> {
40 
41 protected:
46 
48  RndmGen(IInterface* engine);
50  virtual ~RndmGen();
51 
52 public:
53 
55  virtual StatusCode initialize(const IRndmGen::Param& par);
58  virtual StatusCode finalize();
60  virtual const InterfaceID& type() const {
61  return (m_params != 0) ? m_params->type() : IID_IRndmFlat;
62  }
64  virtual long ID() const {
65  return long(this);
66  }
68  virtual const IRndmGen::Param* parameters() const {
69  return m_params;
70  }
72  virtual double shoot() const;
78  virtual StatusCode shootArray( std::vector<double>& array, long howmany, long start) const;
79 };
80 
81 #endif // GAUDI_RANDOMGENSVC_RNDMGEN_H
virtual StatusCode initialize(const IRndmGen::Param &par)
IRndmGen implementation.
Definition: RndmGen.cpp:37
IRndmGen::Param * m_params
Generation parameters.
Definition: RndmGen.h:43
RndmGen(IInterface *engine)
Standard Constructor.
Definition: RndmGen.cpp:22
virtual const InterfaceID & type() const
Parameter's type.
Definition: IRndmGen.h:51
virtual const IRndmGen::Param * parameters() const
Access to random number generator parameters.
Definition: RndmGen.h:68
virtual ~RndmGen()
Standard Destructor.
Definition: RndmGen.cpp:29
virtual const InterfaceID & type() const
Random number generator type.
Definition: RndmGen.h:60
virtual StatusCode finalize()
Initialize the generator.
Definition: RndmGen.cpp:43
Base class used to implement the interfaces.
Definition: implements.h:133
Interface ID class.
Definition: IInterface.h:55
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
Definition of the basic interface.
Definition: IInterface.h:160
virtual long ID() const
Random number generator ID.
Definition: RndmGen.h:64
IRndmEngine * m_engine
Hosting service: Access must always be possible.
Definition: RndmGen.h:45
Random Generator definition.
Definition: RndmGen.h:39
virtual double shoot() const
Single shot returning single random number according to specified distribution.
Definition: RndmGen.cpp:48
struct GAUDI_API array
Parametrisation class for redirection array - like implementation.
virtual StatusCode shootArray(std::vector< double > &array, long howmany, long start) const
Multiple shots returning vector with random number according to specified distribution.
Definition: RndmGen.cpp:53
Definition of a interface for a generic random number generator giving randomly distributed numbers i...
Definition: IRndmEngine.h:20
tuple start
Definition: IOTest.py:88