The Gaudi Framework  master (37c0b60a)
RndmEngine.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 //====================================================================
12 // Random Engine definition
13 //--------------------------------------------------------------------
14 //
15 // Package : Gaudi/RndmGenSvc ( The LHCb Offline System)
16 // Author : M.Frank
17 //====================================================================
18 #ifndef GAUDI_RNDMGENSVC_RNDMENGINE_H
19 #define GAUDI_RNDMGENSVC_RNDMENGINE_H 1
20 
21 // STL include files
22 #include <vector>
23 
24 // Framework include files
26 #include <GaudiKernel/ISerialize.h>
27 #include <GaudiKernel/Service.h>
28 
52 class RndmEngine : public extends<Service, IRndmEngine, ISerialize> {
53 protected:
55  using extends::extends;
56 
57 public:
59  double rndm() const override;
66  StatusCode rndmArray( std::vector<double>& array, long howmany, long start = 0 ) const override;
71  StreamBuffer& serialize( StreamBuffer& str ) override;
76  StreamBuffer& serialize( StreamBuffer& str ) const override;
77 };
78 
79 #endif // GAUDI_RNDMGENSVC_RNDMENGINE_H
RndmEngine::serialize
StreamBuffer & serialize(StreamBuffer &str) override
Input serialization from stream buffer.
Definition: RndmEngine.cpp:42
Service::start
StatusCode start() override
Definition: Service.cpp:187
std::vector< double >
StreamBuffer
Definition: StreamBuffer.h:52
IRndmEngine.h
StatusCode
Definition: StatusCode.h:65
ISerialize.h
RndmEngine::rndmArray
StatusCode rndmArray(std::vector< double > &array, long howmany, long start=0) const override
Multiple shots returning vector with flat random numbers.
Definition: RndmEngine.cpp:56
extends
Base class used to extend a class implementing other interfaces.
Definition: extends.h:20
Service.h
Containers::array
struct GAUDI_API array
Parametrisation class for redirection array - like implementation.
Definition: KeyedObjectManager.h:37
RndmEngine::rndm
double rndm() const override
Single shot returning single random number.
Definition: RndmEngine.cpp:48
RndmEngine
Random Generator engine definition.
Definition: RndmEngine.h:52