The Gaudi Framework  master (37c0b60a)
RandomNumberAlg.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2024 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 #ifndef GAUDIEXAMPLES_RANDOMNUMBERALG_H
12 #define GAUDIEXAMPLES_RANDOMNUMBERALG_H
13 
14 // Framework include files
15 #include <GaudiKernel/Algorithm.h>
16 #include <GaudiKernel/NTuple.h>
18 
25 class RandomNumberAlg : public Algorithm {
26 protected:
30  uint32_t m_initial{ 0 };
32  NTuple::Tuple* m_ntuple{ nullptr };
39 
40 public:
42  RandomNumberAlg( const std::string& name, ISvcLocator* pSvcLocator );
44  ~RandomNumberAlg() override;
46  StatusCode initialize() override;
48  StatusCode finalize() override;
50  StatusCode execute() override;
51 };
52 
53 #endif // GAUDIEXAMPLES_RANDOMNUMBERALG_H
RandomNumberAlg::m_deter
NTuple::Item< uint32_t > m_deter
Definition: RandomNumberAlg.h:35
std::string
STL class.
RndmGenerators.h
RandomNumberAlg::m_gauss
NTuple::Item< float > m_gauss
Definition: RandomNumberAlg.h:36
Gaudi::Algorithm::name
const std::string & name() const override
The identifying name of the algorithm object.
Definition: Algorithm.cpp:526
RandomNumberAlg::m_initial
uint32_t m_initial
Initial seed to fill deterministic random numbers.
Definition: RandomNumberAlg.h:30
ISvcLocator
Definition: ISvcLocator.h:46
Algorithm
Alias for backward compatibility.
Definition: Algorithm.h:58
Algorithm.h
RandomNumberAlg::execute
StatusCode execute() override
Event callback.
Definition: RandomNumberAlg.cpp:125
RandomNumberAlg::m_int
NTuple::Item< int > m_int
N-tuple items.
Definition: RandomNumberAlg.h:34
RandomNumberAlg::m_numbers
Rndm::Numbers m_numbers
Allocate wrapper for random number generator.
Definition: RandomNumberAlg.h:28
StatusCode
Definition: StatusCode.h:65
Rndm::Numbers
Random number accessor This small class encapsulates the use of the random number generator.
Definition: RndmGenerators.h:359
RandomNumberAlg::~RandomNumberAlg
~RandomNumberAlg() override
Standard Destructor.
Definition: RandomNumberAlg.cpp:44
NTuple.h
RandomNumberAlg::finalize
StatusCode finalize() override
Customized finalisation.
Definition: RandomNumberAlg.cpp:150
RandomNumberAlg::initialize
StatusCode initialize() override
Customized initialisation.
Definition: RandomNumberAlg.cpp:54
RandomNumberAlg
Definition: RandomNumberAlg.h:25
NTuple::Tuple
Abstract base class which allows the user to interact with the actual N tuple implementation.
Definition: NTuple.h:388
RandomNumberAlg::m_poisson
NTuple::Item< float > m_poisson
Definition: RandomNumberAlg.h:38
RandomNumberAlg::RandomNumberAlg
RandomNumberAlg(const std::string &name, ISvcLocator *pSvcLocator)
Constructor: A constructor of this form must be provided.
Definition: RandomNumberAlg.cpp:40
RandomNumberAlg::m_exponential
NTuple::Item< float > m_exponential
Definition: RandomNumberAlg.h:37
RandomNumberAlg::m_ntuple
NTuple::Tuple * m_ntuple
Pointer to N-tuple.
Definition: RandomNumberAlg.h:32
NTuple::Item< int >