| The Gaudi Framework v27r1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Protected Attributes | List of all members
RandomNumberAlg Class Reference

A small algorithm class using the random number service. More...

`#include <src/Test/RandomNumberAlg.h>`

Inheritance diagram for RandomNumberAlg:
[legend]
Collaboration diagram for RandomNumberAlg:
[legend]

## Public Member Functions
| RandomNumberAlg (const std::string &name, ISvcLocator *pSvcLocator)
| Constructor: A constructor of this form must be provided. More...
virtual | ~RandomNumberAlg ()
| Standard Destructor. More...
virtual StatusCode | initialize ()
| Customized initialisation. More...
virtual StatusCode | finalize ()
| Customized finalisation. More...
virtual StatusCode | execute ()
| Event callback. More...
Public Member Functions inherited from Algorithm
| Algorithm (const std::string &name, ISvcLocator *svcloc, const std::string &version=PACKAGE_VERSION)
| Constructor. More...
| ~Algorithm () override=default
| Destructor. More...
StatusCode | sysStart () override
| Reinitialization method invoked by the framework. More...
StatusCode | sysInitialize () override
| Initialization method invoked by the framework. More...
StatusCode | sysReinitialize () override
| Reinitialization method invoked by the framework. More...
StatusCode | sysRestart () override
| Restart method invoked by the framework. More...
StatusCode | sysExecute () override
| The actions to be performed by the algorithm on an event. More...
StatusCode | sysStop () override
| System stop. More...
StatusCode | sysFinalize () override
| System finalization. More...
StatusCode | sysBeginRun () override
| beginRun method invoked by the framework. More...
StatusCode | sysEndRun () override
| endRun method invoked by the framework. More...
const std::string & | name () const override
| The identifying name of the algorithm object. More...
const Gaudi::StringKey & | nameKey () const override
const std::string & | type () const override
| The type of the algorithm object. More...
void | setType (const std::string &type) override
const std::string & | version () const override
unsigned int | index () const override
StatusCode | configure () override
| Dummy implementation of IStateful::configure() method. More...
StatusCode | terminate () override
| Dummy implementation of IStateful::terminate() method. More...
StatusCode | initialize () override
| the default (empty) implementation of IStateful::initialize() method More...
StatusCode | start () override
| the default (empty) implementation of IStateful::start() method More...
StatusCode | stop () override
| the default (empty) implementation of IStateful::stop() method More...
StatusCode | finalize () override
| the default (empty) implementation of IStateful::finalize() method More...
StatusCode | reinitialize () override
| the default (empty) implementation of IStateful::reinitialize() method More...
StatusCode | restart () override
| the default (empty) implementation of IStateful::restart() method More...
Gaudi::StateMachine::State | FSMState () const override
| returns the current state of the algorithm More...
Gaudi::StateMachine::State | targetFSMState () const override
| returns the state the algorithm will be in after the ongoing transition More...
bool | isExecuted () const override
| Has this algorithm been executed since the last reset? More...
void | setExecuted (bool state) override
| Set the executed flag to the specified state. More...
void | resetExecuted () override
| Reset the executed state of the Algorithm for the duration of the current event. More...
StatusCode | beginRun () override
| Algorithm begin run. More...
StatusCode | endRun () override
| Algorithm end run. This method is called at the end of the event loop. More...
bool | isEnabled () const override
| Is this algorithm enabled or disabled? More...
bool | filterPassed () const override
| Did this algorithm pass or fail its filter criterion for the last event? More...
void | setFilterPassed (bool state) override
| Set the filter passed flag to the specified state. More...
int | errorCount () const
| Get the number of failures of the algorithm. More...
template<class T >
StatusCode | service (const std::string &name, T *&psvc, bool createIf=true) const
| Access a service by name, creating it if it doesn't already exist. More...
template<class T >
StatusCode | service (const std::string &svcType, const std::string &svcName, T *&psvc) const
| Access a service by name and type, creating it if it doesn't already exist. More...
SmartIF< IService > | service (const std::string &name, const bool createIf=true, const bool quiet=false) const
| Return a pointer to the service identified by name (or "type/name") More...
template<class T >
SmartIF< T > | service (const std::string &name, bool createIf=true, bool quiet=false) const
SmartIF< IAuditorSvc > & | auditorSvc () const
| The standard auditor service.May not be invoked before sysInitialize() has been invoked. More...
SmartIF< IChronoStatSvc > & | chronoSvc () const
| The standard Chrono & Stat service, Return a pointer to the service if present. More...
SmartIF< IChronoStatSvc > & | chronoStatService () const
| Obsoleted name, kept due to the backwards compatibility. More...
SmartIF< IDataProviderSvc > & | detSvc () const
| The standard detector data service. More...
SmartIF< IDataProviderSvc > & | detDataService () const
| Obsoleted name, kept due to the backwards compatibility. More...
SmartIF< IConversionSvc > & | detCnvSvc () const
| The standard detector data persistency conversion service. More...
SmartIF< IConversionSvc > & | detDataCnvService () const
| Obsoleted name, kept due to the backwards compatibility. More...
SmartIF< IDataProviderSvc > & | eventSvc () const
| The standard event data service. More...
SmartIF< IDataProviderSvc > & | evtSvc () const
| shortcut for method eventSvc More...
SmartIF< IDataProviderSvc > & | eventDataService () const
| Obsoleted name, kept due to the backwards compatibility. More...
SmartIF< IConversionSvc > & | eventCnvSvc () const
| The standard event data persistency conversion service. More...
SmartIF< IConversionSvc > & | eventDataCnvService () const
| Obsoleted name, kept due to the backwards compatibility. More...
SmartIF< IHistogramSvc > & | histoSvc () const
| The standard histogram service. More...
SmartIF< IHistogramSvc > & | histogramDataService () const
| Obsoleted name, kept due to the backwards compatibility. More...
SmartIF< INTupleSvc > & | ntupleSvc () const
| The standard N tuple service. More...
SmartIF< INTupleSvc > & | ntupleService () const
| Obsoleted name, kept due to the backwards compatibility. More...
SmartIF< IRndmGenSvc > & | randSvc () const
| AIDA-based NTuple service Returns a pointer to the AIDATuple service if present. More...
SmartIF< IToolSvc > & | toolSvc () const
| The standard ToolSvc service, Return a pointer to the service if present. More...
SmartIF< IExceptionSvc > & | exceptionSvc () const
| Get the exception Service. More...
SmartIF< IAlgContextSvc > & | contextSvc () const
| get Algorithm Context Service More...
SmartIF< ITimelineSvc > & | timelineSvc () const
SmartIF< ISvcLocator > & | serviceLocator () const override
| The standard service locator. More...
SmartIF< ISvcLocator > & | svcLoc () const
| shortcut for method serviceLocator More...
SmartIF< IHiveWhiteBoard > & | whiteboard () const
bool | registerContext () const
| register for Algorithm Context Service? More...
StatusCode | createSubAlgorithm (const std::string &type, const std::string &name, Algorithm *&pSubAlg)
| Create a sub algorithm. More...
const std::vector< Algorithm * > * | subAlgorithms () const
| List of sub-algorithms. Returns a pointer to a vector of (sub) Algorithms. More...
std::vector< Algorithm * > * | subAlgorithms ()
| List of sub-algorithms. Returns a pointer to a vector of (sub) Algorithms. More...
StatusCode | setProperty (const Property &p) override
| Implementation of IProperty::setProperty. More...
StatusCode | setProperty (const std::string &s) override
| Implementation of IProperty::setProperty. More...
StatusCode | setProperty (const std::string &n, const std::string &v) override
| Implementation of IProperty::setProperty. More...
StatusCode | getProperty (Property *p) const override
| Implementation of IProperty::getProperty. More...
const Property & | getProperty (const std::string &name) const override
| Implementation of IProperty::getProperty. More...
StatusCode | getProperty (const std::string &n, std::string &v) const override
| Implementation of IProperty::getProperty. More...
const std::vector< Property * > & | getProperties () const override
| Implementation of IProperty::getProperties. More...
bool | hasProperty (const std::string &name) const override
| Implementation of IProperty::hasProperty. More...
PropertyMgr * | getPropertyMgr ()
StatusCode | setProperties ()
| Set the algorithm's properties. More...
template<class T >
Property * | declareProperty (const std::string &name, T &property, const std::string &doc="none") const
| Declare the named property. More...
Property * | declareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="") const
| Declare remote named properties. More...
template<class T >
Property * | declareProperty (const std::string &name, ToolHandle< T > &hndl, const std::string &doc="none") const
template<class T >
Property * | declareProperty (const std::string &name, ToolHandleArray< T > &hndlArr, const std::string &doc="none") const
SmartIF< IMonitorSvc > & | monitorSvc () const
| Access the monitor service. More...
template<class T >
void | declareInfo (const std::string &name, const T &var, const std::string &desc) const
| Declare monitoring information. More...
void | declareInfo (const std::string &name, const std::string &format, const void *var, int size, const std::string &desc) const
| Declare monitoring information (special case) More...
template<class TYPE >
StatusCode | setProperty (const std::string &name, const TYPE &value)
| set the property form the value More...
EventContext * | getContext () const
| get the context More...
void | setContext (EventContext *context)
| set the context More...
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override
virtual const DataObjIDColl & | extraInputDeps () const override
virtual const DataObjIDColl & | extraOutputDeps () const override
virtual void | acceptDHVisitor (IDataHandleVisitor *) const override
const DataObjIDColl & | inputDataObjs () const
const DataObjIDColl & | outputDataObjs () const
void | commitHandles () override
void | registerTool (IAlgTool *tool) const
void | deregisterTool (IAlgTool *tool) const
template<class T >
StatusCode | declareTool (ToolHandle< T > &handle, std::string toolTypeAndName="", bool createIf=true)
const std::vector< IAlgTool * > & | tools () const
bool | isClonable () const override
| Specifies the clonability of the algorithm. More...
unsigned int | cardinality () const override
| Return the cardinality. More...
const std::vector< std::string > & | neededResources () const override
Public Member Functions inherited from CommonMessagingBase
virtual | ~CommonMessagingBase ()=default
| Virtual destructor. More...
SmartIF< IMessageSvc > & | msgSvc () const
| The standard message service. More...
MsgStream & | msgStream () const
| Return an uninitialized MsgStream. More...
MsgStream & | msgStream (const MSG::Level level) const
| Predefined configurable message stream for the efficient printouts. More...
MsgStream & | always () const
| shortcut for the method msgStream(MSG::ALWAYS) More...
MsgStream & | fatal () const
| shortcut for the method msgStream(MSG::FATAL) More...
MsgStream & | err () const
| shortcut for the method msgStream(MSG::ERROR) More...
MsgStream & | error () const
| shortcut for the method msgStream(MSG::ERROR) More...
MsgStream & | warning () const
| shortcut for the method msgStream(MSG::WARNING) More...
MsgStream & | info () const
| shortcut for the method msgStream(MSG::INFO) More...
MsgStream & | debug () const
| shortcut for the method msgStream(MSG::DEBUG) More...
MsgStream & | verbose () const
| shortcut for the method msgStream(MSG::VERBOSE) More...
MsgStream & | msg () const
| shortcut for the method msgStream(MSG::INFO) More...
MSG::Level | msgLevel () const
| get the output level from the embedded MsgStream More...
MSG::Level | outputLevel () const __attribute__((deprecated))
| Backward compatibility function for getting the output level. More...
bool | msgLevel (MSG::Level lvl) const
| get the output level from the embedded MsgStream More...

## Protected Attributes
Rndm::Numbers | m_gaussNumbers
| Allocate wrapper for random number generator. More...
Rndm::Numbers | m_poissonNumbers
Rndm::Numbers | m_expNumbers
AIDA::IHistogram1D * | m_gaussHisto
AIDA::IHistogram2D * | m_gauss2Histo
AIDA::IHistogram1D * | m_poissonHisto
AIDA::IHistogram1D * | m_expHisto
Protected Attributes inherited from Algorithm
EventContext * | m_event_context
| Event specific data for multiple event processing. More...
SmartIF< PropertyMgr > | m_propertyMgr
| For management of properties. More...
std::unique_ptr< IDataHandleVisitor > | m_updateDataHandles
| Hook for for derived classes to provide a custom visitor for data handles. More...

## Additional Inherited Members
Public Types inherited from Algorithm
typedef Gaudi::PluginService::Factory< IAlgorithm *, const std::string &, ISvcLocator * > | Factory
Public Types inherited from CommonMessaging< implements< IAlgorithm, IDataHandleHolder, IProperty, IStateful > >
using | base_class = CommonMessaging
Protected Member Functions inherited from Algorithm
virtual void | declareInput (Gaudi::DataHandle *im) override
virtual void | declareOutput (Gaudi::DataHandle *im) override
std::vector< IAlgTool * > & | tools ()
bool | isInitialized () const override
| Has the Algorithm already been initialized? More...
bool | isFinalized () const override
| Has the Algorithm already been finalized? More...
void | setIndex (const unsigned int &idx) override
| set instantiation index of Alg More...
Protected Member Functions inherited from CommonMessaging< implements< IAlgorithm, IDataHandleHolder, IProperty, IStateful > >
void | updateMsgStreamOutputLevel (int level)
| Update the output level of the cached MsgStream. More...

## Detailed Description

A small algorithm class using the random number service.

Author
  M.Frank

Date
  1999

Definition at line 20 of file RandomNumberAlg.h.

## Constructor & Destructor Documentation

RandomNumberAlg::RandomNumberAlg | ( | const std::string & | name,
|  | ISvcLocator * | pSvcLocator
| ) |  |

Constructor: A constructor of this form must be provided.

Algorithm parameters which can be set at run time must be declared.

This should be done in the constructor.

Definition at line 23 of file RandomNumberAlg.cpp.

24 : Algorithm(name, pSvcLocator) {
25 }
Algorithm::Algorithm
Algorithm(const std::string &name, ISvcLocator *svcloc, const std::string &version=PACKAGE_VERSION)
Constructor.
Definition: Algorithm.cpp:43

RandomNumberAlg::~RandomNumberAlg | ( |  | ) |
| virtual

Standard Destructor.

Definition at line 28 of file RandomNumberAlg.cpp.

28 {
29 }

## Member Function Documentation

StatusCode RandomNumberAlg::execute | ( |  | ) |
| virtual

Event callback.

Definition at line 54 of file RandomNumberAlg.cpp.

54 {
55 StatusCode sc;
56
57 m_gaussHisto->fill(m_gaussNumbers(), 1.0 );
58 m_gauss2Histo->fill(m_gaussNumbers(), m_gaussNumbers(), 1.0 );
59 m_poissonHisto->fill(m_poissonNumbers(), 1.0 );
60 m_expHisto->fill(m_expNumbers(), 1.0 );
61 return sc;
62 }
RandomNumberAlg::m_expNumbers
Rndm::Numbers m_expNumbers
Definition: RandomNumberAlg.h:25
RandomNumberAlg::m_poissonHisto
AIDA::IHistogram1D * m_poissonHisto
Definition: RandomNumberAlg.h:29
merge_files.sc
int sc
Definition: merge_files.py:167
RandomNumberAlg::m_poissonNumbers
Rndm::Numbers m_poissonNumbers
Definition: RandomNumberAlg.h:24
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
RandomNumberAlg::m_gauss2Histo
AIDA::IHistogram2D * m_gauss2Histo
Definition: RandomNumberAlg.h:28
RandomNumberAlg::m_expHisto
AIDA::IHistogram1D * m_expHisto
Definition: RandomNumberAlg.h:30
RandomNumberAlg::m_gaussNumbers
Rndm::Numbers m_gaussNumbers
Allocate wrapper for random number generator.
Definition: RandomNumberAlg.h:23
RandomNumberAlg::m_gaussHisto
AIDA::IHistogram1D * m_gaussHisto
Definition: RandomNumberAlg.h:27

StatusCode RandomNumberAlg::finalize | ( |  | ) |
| virtual

Customized finalisation.

Definition at line 64 of file RandomNumberAlg.cpp.

64 {
65 return StatusCode::SUCCESS;
66 }
StatusCode::SUCCESS
Definition: StatusCode.h:30

StatusCode RandomNumberAlg::initialize | ( |  | ) |
| virtual

Customized initialisation.

Definition at line 33 of file RandomNumberAlg.cpp.

33 {
34 StatusCode sc;
35
36 // Initilize random number generators
37 sc = m_poissonNumbers.initialize(randSvc(), Rndm::Poisson(0.3));
38 if ( sc.isFailure() ) return sc;
39 sc = m_gaussNumbers.initialize(randSvc(), Rndm::Gauss(0.5,0.2));
40 if ( sc.isFailure() ) return sc;
41 sc = m_expNumbers.initialize(randSvc(), Rndm::Exponential(0.2));
42 if ( sc.isFailure() ) return sc;
43
44
45 // Initiatize Histograms
46 m_gaussHisto = histoSvc()->book( "simple/1", "Gauss", 40, 0., 3.);
47 m_gauss2Histo = histoSvc()->book( "simple/2", "Gauss 2D", 40, 0., 3., 50, 0., 3.);
48 m_expHisto = histoSvc()->book( "simple/3", "Exponential", 40, 0., 3.);
49 m_poissonHisto = histoSvc()->book( "simple/4", "Poisson", 40, 0., 3.);
50
51 return sc;
52 }
RandomNumberAlg::m_expNumbers
Rndm::Numbers m_expNumbers
Definition: RandomNumberAlg.h:25
RandomNumberAlg::m_poissonHisto
AIDA::IHistogram1D * m_poissonHisto
Definition: RandomNumberAlg.h:29
Algorithm::histoSvc
SmartIF< IHistogramSvc > & histoSvc() const
The standard histogram service.
Rndm::Poisson
Parameters for the Poisson distributed random number generation with a given mean.
Definition: RndmGenerators.h:208
Rndm::Gauss
Parameters for the Gauss random number generation.
Definition: RndmGenerators.h:21
merge_files.sc
int sc
Definition: merge_files.py:167
StatusCode::isFailure
bool isFailure() const
Test for a status code of FAILURE.
Definition: StatusCode.h:86
RandomNumberAlg::m_poissonNumbers
Rndm::Numbers m_poissonNumbers
Definition: RandomNumberAlg.h:24
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
RandomNumberAlg::m_gauss2Histo
AIDA::IHistogram2D * m_gauss2Histo
Definition: RandomNumberAlg.h:28
Algorithm::randSvc
SmartIF< IRndmGenSvc > & randSvc() const
AIDA-based NTuple service Returns a pointer to the AIDATuple service if present.
RandomNumberAlg::m_expHisto
AIDA::IHistogram1D * m_expHisto
Definition: RandomNumberAlg.h:30
IHistogramSvc::book
virtual AIDA::IHistogram1D * book(const std::string &fullPath, const std::string &title, int binsX, double lowX, double highX)=0
Book histogram and register it with the histogram data store.
Rndm::Numbers::initialize
virtual StatusCode initialize(const SmartIF< IRndmGenSvc > &svc, const IRndmGen::Param &par)
Initialization.
Definition: RndmGenerators.cpp:27
RandomNumberAlg::m_gaussNumbers
Rndm::Numbers m_gaussNumbers
Allocate wrapper for random number generator.
Definition: RandomNumberAlg.h:23
Rndm::Exponential
Parameters for the Gauss random number generation.
Definition: RndmGenerators.h:47
RandomNumberAlg::m_gaussHisto
AIDA::IHistogram1D * m_gaussHisto
Definition: RandomNumberAlg.h:27

## Member Data Documentation

AIDA::IHistogram1D* RandomNumberAlg::m_expHisto
| protected

Definition at line 30 of file RandomNumberAlg.h.

Rndm::Numbers RandomNumberAlg::m_expNumbers
| protected

Definition at line 25 of file RandomNumberAlg.h.

AIDA::IHistogram2D* RandomNumberAlg::m_gauss2Histo
| protected

Definition at line 28 of file RandomNumberAlg.h.

AIDA::IHistogram1D* RandomNumberAlg::m_gaussHisto
| protected

Definition at line 27 of file RandomNumberAlg.h.

Rndm::Numbers RandomNumberAlg::m_gaussNumbers
| protected

Allocate wrapper for random number generator.

Definition at line 23 of file RandomNumberAlg.h.

AIDA::IHistogram1D* RandomNumberAlg::m_poissonHisto
| protected

Definition at line 29 of file RandomNumberAlg.h.

Rndm::Numbers RandomNumberAlg::m_poissonNumbers
| protected

Definition at line 24 of file RandomNumberAlg.h.

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

- GaudiPython/src/Test/RandomNumberAlg.h
- GaudiPython/src/Test/RandomNumberAlg.cpp