Gaudi Framework, version v21r9

Home   Generated: 3 May 2010

RndmEngine Class Reference

Random Generator engine definition. More...

#include <RndmEngine.h>

Inheritance diagram for RndmEngine:

Inheritance graph
[legend]
Collaboration diagram for RndmEngine:

Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual StatusCode initialize ()
 Service override: initialization.
virtual StatusCode finalize ()
 Service override: finalization.
virtual double rndm () const
 Single shot returning single random number.
virtual StatusCode rndmArray (std::vector< double > &array, long howmany, long start=0) const
 Multiple shots returning vector with flat random numbers.
virtual StreamBufferserialize (StreamBuffer &str)
 Input serialization from stream buffer.
virtual StreamBufferserialize (StreamBuffer &str) const
 Output serialization to stream buffer.
virtual void handle (const Incident &inc)
 Inform that a new incident has occurred.

Protected Member Functions

 RndmEngine (const std::string &name, ISvcLocator *loc)
 Standard Constructor.
virtual ~RndmEngine ()
 Standard Destructor.

Protected Attributes

SmartIF< IIncidentSvcm_pIncidentSvc
 Reference to the incident service.


Detailed Description

Random Generator engine definition.

Description: Definition of a interface for a generic random number generator giving randomly distributed numbers in the range [0...1] number generators.

Dependencies:

History :

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

Definition at line 46 of file RndmEngine.h.


Constructor & Destructor Documentation

RndmEngine::RndmEngine ( const std::string name,
ISvcLocator loc 
) [protected]

Standard Constructor.

Standard Service constructor.

Definition at line 31 of file RndmEngine.cpp.

00032 : base_class(name, loc)
00033 {
00034 }

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

Standard Destructor.

Standard Service destructor.

Definition at line 37 of file RndmEngine.cpp.

00037                           {
00038 }


Member Function Documentation

StatusCode RndmEngine::initialize (  )  [virtual]

Service override: initialization.

Reimplemented from Service.

Reimplemented in HepRndm::Engine< TYPE >.

Definition at line 41 of file RndmEngine.cpp.

00041                                     {
00042   StatusCode status = Service::initialize();
00043   if ( status.isSuccess() )   {
00044     status = setProperties();
00045     if ( status.isSuccess() )   {
00046       m_pIncidentSvc = serviceLocator()->service("IncidentSvc");
00047       if (!m_pIncidentSvc.isValid()) {
00048         status = StatusCode::FAILURE;
00049       }
00050     }
00051   }
00052   return status;
00053 }

StatusCode RndmEngine::finalize ( void   )  [virtual]

Service override: finalization.

Reimplemented from Service.

Reimplemented in HepRndm::Engine< TYPE >.

Definition at line 56 of file RndmEngine.cpp.

00056                                   {
00057   m_pIncidentSvc = 0; // release
00058   return Service::finalize();
00059 }

double RndmEngine::rndm (  )  const [virtual]

Single shot returning single random number.

Reimplemented in HepRndm::Engine< TYPE >.

Definition at line 73 of file RndmEngine.cpp.

00073                                 {
00074   return DBL_MAX;
00075 }

StatusCode RndmEngine::rndmArray ( std::vector< double > &  array,
long  howmany,
long  start = 0 
) const [virtual]

Multiple shots returning vector with flat random numbers.

Parameters:
array Array containing random numbers
howmany fill 'howmany' random numbers into array
start ... starting at position start
Returns:
StatusCode indicating failure or success.
Parameters:
array Array containing random numbers
howmany fill 'howmany' random numbers into array
start ... starting at position start
Returns:
StatusCode indicating failure or success.

Definition at line 87 of file RndmEngine.cpp.

00087                                                                                             {
00088   long cnt = start;
00089   array.resize(start+howmany);
00090   for ( long i = start, num = start+howmany; i < num; i++ )     {
00091     array[cnt++] = rndm();
00092   }
00093   return StatusCode::SUCCESS;
00094 }

StreamBuffer & RndmEngine::serialize ( StreamBuffer str  )  [virtual]

Input serialization from stream buffer.

IRndmEngine interface implementation.

Restores the status of the object.

Parameters:
str Reference to Streambuffer to be filled
Returns:
Reference to filled stream buffer
Input serialization from stream buffer. Restores the status of the generator engine.

Definition at line 63 of file RndmEngine.cpp.

00063                                                         {
00064   return str;
00065 }

StreamBuffer & RndmEngine::serialize ( StreamBuffer str  )  const [virtual]

Output serialization to stream buffer.

Output serialization to stream buffer. Saves the status of the generator engine.

Saves the status of the object.

Parameters:
str Reference to Streambuffer to be read
Returns:
Reference to read stream buffer

Definition at line 68 of file RndmEngine.cpp.

00068                                                               {
00069   return str;
00070 }

void RndmEngine::handle ( const Incident inc  )  [virtual]

Inform that a new incident has occurred.

Single shot returning single random number.

Definition at line 78 of file RndmEngine.cpp.

00078                                                       {
00079 }


Member Data Documentation

Reference to the incident service.

Definition at line 50 of file RndmEngine.h.


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

Generated at Mon May 3 12:26:16 2010 for Gaudi Framework, version v21r9 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004