The Gaudi Framework
master (9f3f8895)
Toggle main menu visibility
Loading...
Searching...
No Matches
RandomNumberAlg.h
Go to the documentation of this file.
1
/***********************************************************************************\
2
* (c) Copyright 1998-2025 CERN for the benefit of the LHCb and ATLAS collaborations *
3
* *
4
* This software is distributed under the terms of the Apache version 2 licence, *
5
* copied verbatim in the file "LICENSE". *
6
* *
7
* In applying this licence, CERN does not waive the privileges and immunities *
8
* granted to it by virtue of its status as an Intergovernmental Organization *
9
* or submit itself to any jurisdiction. *
10
\***********************************************************************************/
11
#pragma once
12
13
// Framework include files
14
#include <
GaudiKernel/Algorithm.h
>
15
#include <
GaudiKernel/NTuple.h
>
16
#include <
GaudiKernel/RndmGenerators.h
>
17
24
class
RandomNumberAlg
:
public
Algorithm
{
25
protected
:
27
Rndm::Numbers
m_numbers
;
29
uint32_t
m_initial
{ 0 };
31
NTuple::Tuple
*
m_ntuple
{
nullptr
};
33
NTuple::Item<int>
m_int
;
34
NTuple::Item<uint32_t>
m_deter
;
35
NTuple::Item<float>
m_gauss
;
36
NTuple::Item<float>
m_exponential
;
37
NTuple::Item<float>
m_poisson
;
38
39
public
:
41
RandomNumberAlg
(
const
std::string&
name
,
ISvcLocator
* pSvcLocator );
43
~RandomNumberAlg
()
override
;
45
StatusCode
initialize
()
override
;
47
StatusCode
finalize
()
override
;
49
StatusCode
execute
()
override
;
50
};
Algorithm.h
NTuple.h
RndmGenerators.h
Gaudi::Algorithm::Algorithm
Algorithm(std::string name, ISvcLocator *svcloc, std::string version=PACKAGE_VERSION)
Constructor.
Definition
Algorithm.h:98
Gaudi::Algorithm::name
const std::string & name() const override
The identifying name of the algorithm object.
Definition
Algorithm.cpp:518
ISvcLocator
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition
ISvcLocator.h:42
NTuple::Item
Class acting as a smart pointer holding a N tuple _Item.
Definition
NTuple.h:251
NTuple::Tuple
Abstract base class which allows the user to interact with the actual N tuple implementation.
Definition
NTuple.h:380
RandomNumberAlg::m_exponential
NTuple::Item< float > m_exponential
Definition
RandomNumberAlg.h:36
RandomNumberAlg::m_numbers
Rndm::Numbers m_numbers
Allocate wrapper for random number generator.
Definition
RandomNumberAlg.h:27
RandomNumberAlg::~RandomNumberAlg
~RandomNumberAlg() override
Standard Destructor.
Definition
RandomNumberAlg.cpp:44
RandomNumberAlg::finalize
StatusCode finalize() override
Customized finalisation.
Definition
RandomNumberAlg.cpp:150
RandomNumberAlg::m_poisson
NTuple::Item< float > m_poisson
Definition
RandomNumberAlg.h:37
RandomNumberAlg::m_initial
uint32_t m_initial
Initial seed to fill deterministic random numbers.
Definition
RandomNumberAlg.h:29
RandomNumberAlg::initialize
StatusCode initialize() override
Customized initialisation.
Definition
RandomNumberAlg.cpp:54
RandomNumberAlg::m_gauss
NTuple::Item< float > m_gauss
Definition
RandomNumberAlg.h:35
RandomNumberAlg::m_int
NTuple::Item< int > m_int
N-tuple items.
Definition
RandomNumberAlg.h:33
RandomNumberAlg::RandomNumberAlg
RandomNumberAlg(const std::string &name, ISvcLocator *pSvcLocator)
Constructor: A constructor of this form must be provided.
Definition
RandomNumberAlg.cpp:40
RandomNumberAlg::m_deter
NTuple::Item< uint32_t > m_deter
Definition
RandomNumberAlg.h:34
RandomNumberAlg::execute
StatusCode execute() override
Event callback.
Definition
RandomNumberAlg.cpp:125
RandomNumberAlg::m_ntuple
NTuple::Tuple * m_ntuple
Pointer to N-tuple.
Definition
RandomNumberAlg.h:31
Rndm::Numbers
Random number accessor This small class encapsulates the use of the random number generator.
Definition
RndmGenerators.h:354
StatusCode
This class is used for returning status codes from appropriate routines.
Definition
StatusCode.h:64
GaudiTestSuite
src
RandomNumber
RandomNumberAlg.h
Generated on
for The Gaudi Framework by
1.17.0