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

RndmGen Class Reference

Random Generator definition. More...

#include <RndmGen.h>

Inheritance diagram for RndmGen:

IRndmGen HepRndm::Generator HepRndm::Generator< Rndm::DefinedPdf > List of all members.

Public Methods

unsigned long addRef ()
 Increase reference count. More...

unsigned long release ()
 Decrease reference count. More...

StatusCode queryInterface (const IID& riid, void** ppvInterface)
 Query interface. More...

virtual StatusCode initialize (const IRndmGen::Param& par)
 Initialize the generator. More...

virtual StatusCode finalize ()
 Initialize the generator. More...

virtual const IID& type () const
 Random number generator type. More...

virtual const long ID () const
 Random number generator ID. More...

virtual const IRndmGen::Param* parameters () const
 Access to random number generator parameters. More...

virtual double shoot () const
 Single shot returning single random number according to specified distribution. More...

virtual StatusCode shootArray ( std::vector<double>& array, long howmany, long start) const
 Multiple shots returning vector with random number according to specified distribution. More...


Protected Methods

 RndmGen (IInterface* engine)
 Standard Constructor. More...

virtual ~RndmGen ()
 Standard Destructor. More...


Protected Attributes

IRndmGen::Param* m_params
 Generation parameters. More...

IRndmEnginem_engine
 Hosting service: Access must always be possible. More...


Private Attributes

unsigned long m_refCount
 Reference count. More...


Detailed Description

Random Generator definition.

Description: Definition of a interface for a generic random number generators.

Dependencies:

History :

    +---------+----------------------------------------------+--------+
    |    Date |                 Comment                      | Who    |
    +---------+----------------------------------------------+--------+
    | 21/11/99| Initial version.                             | MF     |
    +---------+----------------------------------------------+--------+
    
Author: M.Frank Version: 1.0

Definition at line 39 of file RndmGen.h.


Constructor & Destructor Documentation

RndmGen::RndmGen ( IInterface * engine ) [protected]
 

Standard Constructor.

Definition at line 22 of file RndmGen.cpp.

RndmGen::~RndmGen ( ) [protected, virtual]
 

Standard Destructor.

Definition at line 29 of file RndmGen.cpp.


Member Function Documentation

const long RndmGen::ID ( ) const [inline, virtual]
 

Random number generator ID.

Definition at line 84 of file RndmGen.h.

unsigned long RndmGen::addRef ( ) [inline]
 

Increase reference count.

Definition at line 59 of file RndmGen.h.

Referenced by queryInterface(), and HepRndm::RndmGenFactory::queryInterface().

StatusCode RndmGen::finalize ( ) [virtual]
 

Initialize the generator.

Reimplemented in HepRndm::Generator< Rndm::DefinedPdf >.

Definition at line 56 of file RndmGen.cpp.

StatusCode RndmGen::initialize ( const IRndmGen::Param & par ) [virtual]
 

Initialize the generator.

Reimplemented in HepRndm::Generator, and HepRndm::Generator< Rndm::DefinedPdf >.

Definition at line 50 of file RndmGen.cpp.

Referenced by HepRndm::Generator::initialize().

const IRndmGen::Param * RndmGen::parameters ( ) const [inline, virtual]
 

Access to random number generator parameters.

Definition at line 88 of file RndmGen.h.

StatusCode RndmGen::queryInterface ( const IID & riid,
void ** ppvInterface )
 

Query interface.

Definition at line 35 of file RndmGen.cpp.

unsigned long RndmGen::release ( ) [inline]
 

Decrease reference count.

Definition at line 64 of file RndmGen.h.

double RndmGen::shoot ( ) const [virtual]
 

Single shot returning single random number according to specified distribution.

Reimplemented in HepRndm::Generator, and HepRndm::Generator< Rndm::DefinedPdf >.

Definition at line 63 of file RndmGen.cpp.

Referenced by shootArray().

StatusCode RndmGen::shootArray ( std::vector< double >& array,
long howmany,
long start ) const [virtual]
 

Multiple shots returning vector with random number according to specified distribution.

Parameters:
array   Array containing random numbers
howmany   fill 'howmany' random numbers into array
start   ... starting at position start

Definition at line 68 of file RndmGen.cpp.

const IID & RndmGen::type ( ) const [inline, virtual]
 

Random number generator type.

Definition at line 80 of file RndmGen.h.


Member Data Documentation

IRndmEngine * RndmGen::m_engine [protected]
 

Hosting service: Access must always be possible.

Definition at line 49 of file RndmGen.h.

IRndmGen::Param * RndmGen::m_params [protected]
 

Generation parameters.

Definition at line 47 of file RndmGen.h.

unsigned long RndmGen::m_refCount [private]
 

Reference count.

Definition at line 43 of file RndmGen.h.


The documentation for this class was generated from the following files:
Generated at Wed Nov 21 12:22:35 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000