The Gaudi Framework  master (01b473db)
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>
17 
24 class RandomNumberAlg : public Algorithm {
25 protected:
29  uint32_t m_initial{ 0 };
31  NTuple::Tuple* m_ntuple{ nullptr };
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 };
RandomNumberAlg::m_deter
NTuple::Item< uint32_t > m_deter
Definition: RandomNumberAlg.h:34
RndmGenerators.h
RandomNumberAlg::m_gauss
NTuple::Item< float > m_gauss
Definition: RandomNumberAlg.h:35
Gaudi::Algorithm::name
const std::string & name() const override
The identifying name of the algorithm object.
Definition: Algorithm.cpp:524
RandomNumberAlg::m_initial
uint32_t m_initial
Initial seed to fill deterministic random numbers.
Definition: RandomNumberAlg.h:29
ISvcLocator
Definition: ISvcLocator.h:42
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:33
RandomNumberAlg::m_numbers
Rndm::Numbers m_numbers
Allocate wrapper for random number generator.
Definition: RandomNumberAlg.h:27
StatusCode
Definition: StatusCode.h:64
Rndm::Numbers
Random number accessor This small class encapsulates the use of the random number generator.
Definition: RndmGenerators.h:354
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:24
NTuple::Tuple
Abstract base class which allows the user to interact with the actual N tuple implementation.
Definition: NTuple.h:380
RandomNumberAlg::m_poisson
NTuple::Item< float > m_poisson
Definition: RandomNumberAlg.h:37
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:36
RandomNumberAlg::m_ntuple
NTuple::Tuple * m_ntuple
Pointer to N-tuple.
Definition: RandomNumberAlg.h:31
NTuple::Item< int >