Gaudi Framework, version v22r4

Home   Generated: Fri Sep 2 2011
Public Member Functions | Protected Member Functions | Protected Attributes

RndmGen Class Reference

Random Generator definition. More...

#include <RndmGen.h>

Inheritance diagram for RndmGen:
Inheritance graph
[legend]
Collaboration diagram for RndmGen:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual StatusCode initialize (const IRndmGen::Param &par)
 IRndmGen implementation.
virtual StatusCode finalize ()
 Initialize the generator.
virtual const InterfaceIDtype () const
 Random number generator type.
virtual long ID () const
 Random number generator ID.
virtual const IRndmGen::Paramparameters () const
 Access to random number generator parameters.
virtual double shoot () const
 Single shot returning single random number according to specified distribution.
virtual StatusCode shootArray (std::vector< double > &array, long howmany, long start) const
 Multiple shots returning vector with random number according to specified distribution.

Protected Member Functions

 RndmGen (IInterface *engine)
 Standard Constructor.
virtual ~RndmGen ()
 Standard Destructor.

Protected Attributes

IRndmGen::Paramm_params
 Generation parameters.
IRndmEnginem_engine
 Hosting service: Access must always be possible.

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.

                                   : m_params(0), m_engine(0)   {
  if ( 0 != engine )  {
    engine->queryInterface(IRndmEngine::interfaceID(), pp_cast<void>(&m_engine)).ignore();
  }
}
RndmGen::~RndmGen (  ) [protected, virtual]

Standard Destructor.

Definition at line 29 of file RndmGen.cpp.

                    {
  if ( m_engine ) m_engine->release();
  m_engine = 0;
  if ( m_params ) delete m_params;
  m_params = 0;
}

Member Function Documentation

StatusCode RndmGen::finalize ( void   ) [virtual]

Initialize the generator.

Initialize the RndmGen.

Implements IRndmGen.

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

Definition at line 43 of file RndmGen.cpp.

                               {
  return StatusCode::SUCCESS;
}
virtual long RndmGen::ID (  ) const [inline, virtual]

Random number generator ID.

Implements IRndmGen.

Definition at line 64 of file RndmGen.h.

                             {
    return long(this);
  }
StatusCode RndmGen::initialize ( const IRndmGen::Param par ) [virtual]

IRndmGen implementation.

Initialize the generator.

Initialize the generator

Implements IRndmGen.

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

Definition at line 37 of file RndmGen.cpp.

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

Access to random number generator parameters.

Implements IRndmGen.

Definition at line 68 of file RndmGen.h.

                                                     {
    return m_params;
  }
double RndmGen::shoot (  ) const [virtual]
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:
arrayArray containing random numbers
howmanyfill 'howmany' random numbers into array
start... starting at position start

Implements IRndmGen.

Definition at line 53 of file RndmGen.cpp.

                                                                                        {
  if ( 0 != m_engine )    {
    long cnt = start;
    array.resize(start+howmany);
    for ( long i = start, num = start+howmany; i < num; i++ )     {
      array[cnt++] = shoot();
    }
    return StatusCode::SUCCESS;
  }
  return StatusCode::FAILURE;
}
virtual const InterfaceID& RndmGen::type (  ) const [inline, virtual]

Random number generator type.

Implements IRndmGen.

Definition at line 60 of file RndmGen.h.

                                             {
    return (m_params != 0) ? m_params->type() : IID_IRndmFlat;
  }

Member Data Documentation

Hosting service: Access must always be possible.

Definition at line 45 of file RndmGen.h.

Generation parameters.

Definition at line 43 of file RndmGen.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated at Fri Sep 2 2011 16:25:43 for Gaudi Framework, version v22r4 by Doxygen version 1.7.2 written by Dimitri van Heesch, © 1997-2004