The Gaudi Framework  master (82fdf313)
Loading...
Searching...
No Matches
IRndmEngine.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
14#include <vector>
15
25class GAUDI_API IRndmEngine : virtual public IInterface {
26public:
30 virtual double rndm() const = 0;
37 virtual StatusCode rndmArray( std::vector<double>& array, long howmany, long start = 0 ) const = 0;
39 virtual StatusCode setSeeds( const std::vector<long>& seeds ) = 0;
41 virtual StatusCode seeds( std::vector<long>& seeds ) const = 0;
42};
#define GAUDI_API
Definition Kernel.h:49
Definition of the basic interface.
Definition IInterface.h:225
Definition of a interface for a generic random number generator giving randomly distributed numbers i...
Definition IRndmEngine.h:25
DeclareInterfaceID(IRndmEngine, 2, 0)
InterfaceID.
virtual StatusCode rndmArray(std::vector< double > &array, long howmany, long start=0) const =0
Multiple shots returning vector with flat random numbers.
virtual StatusCode setSeeds(const std::vector< long > &seeds)=0
Allow to set new seeds.
virtual double rndm() const =0
Single shot returning single random number.
virtual StatusCode seeds(std::vector< long > &seeds) const =0
Allow to retrieve seeds.
This class is used for returning status codes from appropriate routines.
Definition StatusCode.h:64