10#ifndef SIMULATION_KERNEL_RANDOMENGINE_H
11#define SIMULATION_KERNEL_RANDOMENGINE_H
13#include <CLHEP/Random/Random.h>
14#include <framework/core/RandomGenerator.h>
36 void setSeeds(
const long*,
int)
override final {}
44 std::string
name() const override final {
return "Belle2::RandomGenerator"; }
46 std::vector<unsigned long>
put() const override final {
return std::vector<unsigned long>(); }
48 std::ostream&
put(std::ostream& o)
const override final {
return o; }
50 bool get(
const std::vector<unsigned long>&)
override final {
return false; }
52 std::istream&
get(std::istream& i)
override final {
return i; }
Interface class to make Geant4 use the Belle2 RandomGenerator.
void restoreStatus(const char[]) override final
restore status from file, ignored
std::ostream & put(std::ostream &o) const override final
put call, whatever that does.
void flatArray(const int size, double *vect) override final
fill an array of doubles with values in (0,1), both exluded
void setSeed(long, int) override final
set the seed, ignored
void saveStatus(const char[]) const override final
save status to file, ignored
void showStatus() const override final
show status, ignored
void setSeeds(const long *, int) override final
set array of seed values, ignored
std::string name() const override final
return name of the generator
RandomEngine()
Constructor expecting a reference to the Belle2::RandomGenerator.
std::vector< unsigned long > put() const override final
put call, whatever that does.
std::istream & get(std::istream &i) override final
get call, I assume same as above
bool get(const std::vector< unsigned long > &) override final
get call, I assume same as above
double flat() override final
return a flat distributed double in (0,1), both excluded
Fast Random number Generator using on xorshift1024* [arXiv:1402.6246].
double random01()
Generate a random double value between 0 and 1, both limits excluded.
void RndmArray(Int_t n, Float_t *array)
Fill an array of floats with random values in (0,1), both limits excluded.
Abstract base class for different kinds of events.