Garfield 0.3
Toolkit for the detailed simulation of particle detectors based on ionization measurement in gases and semiconductors
Loading...
Searching...
No Matches
Garfield::RandomEngineSTL Class Reference

#include <RandomEngineSTL.hh>

Inheritance diagram for Garfield::RandomEngineSTL:
Garfield::RandomEngine< RandomEngineSTL, std::mt19937::result_type >

Public Member Functions

 RandomEngineSTL ()=default
 RandomEngineSTL (const std::mt19937::result_type &seed)
double Draw ()
void SetSeed (const seed_t &seed)
seed_t GetSeed ()
void Print ()
Public Member Functions inherited from Garfield::RandomEngine< RandomEngineSTL, std::mt19937::result_type >
 RandomEngine ()=default
void SetSeed (const seed_t &seed)
 Initialise the random number generator.
double operator() ()
 Draw a random number.
double Draw ()
 Draw a random number.
seed_t GetSeed ()
 Retrieve the seed that was used.
void Print ()
 Print some information about the random number generator.

Private Attributes

std::mt19937 m_rng {std::random_device{}()}

Additional Inherited Members

Public Types inherited from Garfield::RandomEngine< RandomEngineSTL, std::mt19937::result_type >
using seed_t
using engine_t
Protected Attributes inherited from Garfield::RandomEngine< RandomEngineSTL, std::mt19937::result_type >
seed_t m_seed

Detailed Description

Definition at line 10 of file RandomEngineSTL.hh.

Constructor & Destructor Documentation

◆ RandomEngineSTL() [1/2]

Garfield::RandomEngineSTL::RandomEngineSTL ( )
default

◆ RandomEngineSTL() [2/2]

Garfield::RandomEngineSTL::RandomEngineSTL ( const std::mt19937::result_type & seed)
inline

Member Function Documentation

◆ Draw()

double Garfield::RandomEngineSTL::Draw ( )
inline

Definition at line 15 of file RandomEngineSTL.hh.

15 {
16 return std::generate_canonical<double, std::numeric_limits<double>::digits>(
17 m_rng);
18 }

◆ GetSeed()

seed_t Garfield::RandomEngineSTL::GetSeed ( )
inline

◆ Print()

void Garfield::RandomEngineSTL::Print ( )

◆ SetSeed()

void Garfield::RandomEngineSTL::SetSeed ( const seed_t & seed)
inline

Definition at line 19 of file RandomEngineSTL.hh.

19{ m_rng.seed(seed); }

Member Data Documentation

◆ m_rng

std::mt19937 Garfield::RandomEngineSTL::m_rng {std::random_device{}()}
private

Definition at line 24 of file RandomEngineSTL.hh.

24{std::random_device{}()};

The documentation for this class was generated from the following file: