List of all members | Classes | Public Types | Public Member Functions | Public Attributes | Private Types | Private Member Functions | Private Attributes | Friends
fwk::RandomEngineRegistry Class Reference

Collection of pre-defined random engines. More...

#include <fwk/RandomEngineRegistry.h>

Inheritance diagram for fwk::RandomEngineRegistry:
Inheritance graph
[legend]

Classes

class  InvalidRandomEngineException
 Base class for exceptions in the RandomEngineRegistry. More...
 

Public Types

enum  RandomEngineID { eDetector = 0, ePhysics = 1 }
 Identifiers for all pre-defined random engines. More...
 

Public Member Functions

utl::RandomEngineGet (const RandomEngineID id=eDetector)
 Get a pre-defined random engine. More...
 

Public Attributes

static RandomEngineRegistry &return instance
 

Private Types

typedef std::map
< RandomEngineID,
utl::RandomEngine * > 
Registry
 

Private Member Functions

void GenerateSeeds (long *const seed, const int n) const
 
void Init ()
 Initialise the registry. More...
 
 RandomEngineRegistry ()
 
void RegisterOne (const RandomEngineID id, utl::RandomEngine *const engine)
 Register an engine. More...
 
 ~RandomEngineRegistry ()
 

Private Attributes

utl::ShadowPtr< RegistryfRegistry
 

Friends

class utl::Singleton< RandomEngineRegistry >
 

Detailed Description

Collection of pre-defined random engines.

This class registers the pre-defined random engines and provides symbolic names for them.

The class is implemented as a singleton.

Author
Matej Horvat
Date
13 Oct 2006

Definition at line 37 of file RandomEngineRegistry.h.

Member Typedef Documentation

Definition at line 83 of file RandomEngineRegistry.h.

Member Enumeration Documentation

Identifiers for all pre-defined random engines.

Enumerator
eDetector 

Detector engine.

ePhysics 

Physics engine.

Definition at line 41 of file RandomEngineRegistry.h.

Constructor & Destructor Documentation

fwk::RandomEngineRegistry::RandomEngineRegistry ( )
inlineprivate

Definition at line 72 of file RandomEngineRegistry.h.

fwk::RandomEngineRegistry::~RandomEngineRegistry ( )
private

Definition at line 58 of file RandomEngineRegistry.cc.

Member Function Documentation

void fwk::RandomEngineRegistry::GenerateSeeds ( long *const  seed,
const int  n 
) const
private

Definition at line 118 of file RandomEngineRegistry.cc.

References utl::abs(), fd, utl::s, and WARNING.

RandomEngine & fwk::RandomEngineRegistry::Get ( const RandomEngineID  id = eDetector)

Get a pre-defined random engine.

Definition at line 42 of file RandomEngineRegistry.cc.

References ERROR, and fwk::CoordinateSystemRegistry::Init().

void fwk::RandomEngineRegistry::Init ( void  )
private
void fwk::RandomEngineRegistry::RegisterOne ( const RandomEngineID  id,
utl::RandomEngine *const  engine 
)
private

Register an engine.

Definition at line 30 of file RandomEngineRegistry.cc.

References ok(), and WARNING.

Friends And Related Function Documentation

friend class utl::Singleton< RandomEngineRegistry >
friend

Definition at line 86 of file RandomEngineRegistry.h.

Member Data Documentation

utl::ShadowPtr<Registry> fwk::RandomEngineRegistry::fRegistry
private

Definition at line 84 of file RandomEngineRegistry.h.

RandomEngineRegistry & return utl::Singleton< RandomEngineRegistry >::instance
inherited

Definition at line 44 of file Singleton.h.


The documentation for this class was generated from the following files:

, generated on Tue Sep 26 2023.