The Gaudi Framework  master (37c0b60a)
IRndmEngine.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 GAUDIKERNEL_IRNDMENGINE_H
12 #define GAUDIKERNEL_IRNDMENGINE_H
13 
14 // STL include files
15 #include <vector>
16 
17 // Framework include files
18 #include <GaudiKernel/IInterface.h>
19 
29 class GAUDI_API IRndmEngine : virtual public IInterface {
30 public:
34  virtual double rndm() const = 0;
41  virtual StatusCode rndmArray( std::vector<double>& array, long howmany, long start = 0 ) const = 0;
43  virtual StatusCode setSeeds( const std::vector<long>& seeds ) = 0;
45  virtual StatusCode seeds( std::vector<long>& seeds ) const = 0;
46 };
47 
48 #endif // GAUDI_INTERFACES_IRNDMENGINE_H
IRndmEngine::rndm
virtual double rndm() const =0
Single shot returning single random number.
IRndmEngine::DeclareInterfaceID
DeclareInterfaceID(IRndmEngine, 2, 0)
InterfaceID.
std::vector< double >
IRndmEngine
Definition: IRndmEngine.h:29
IOTest.start
start
Definition: IOTest.py:110
StatusCode
Definition: StatusCode.h:65
IInterface.h
IRndmEngine::rndmArray
virtual StatusCode rndmArray(std::vector< double > &array, long howmany, long start=0) const =0
Multiple shots returning vector with flat random numbers.
IRndmEngine::seeds
virtual StatusCode seeds(std::vector< long > &seeds) const =0
Allow to retrieve seeds.
Containers::array
struct GAUDI_API array
Parametrisation class for redirection array - like implementation.
Definition: KeyedObjectManager.h:37
IInterface
Definition: IInterface.h:239
IRndmEngine::setSeeds
virtual StatusCode setSeeds(const std::vector< long > &seeds)=0
Allow to set new seeds.
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:81