MOOSE - Multiscale Object Oriented Simulation Environment
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
moose::RNG< T > Class Template Reference

#include <RNG.h>

+ Inheritance diagram for moose::RNG< T >:
+ Collaboration diagram for moose::RNG< T >:

Public Member Functions

getSeed (void)
 
 RNG ()
 
void setRandomSeed ()
 
void setSeed (const unsigned long seed)
 If seed if 0 then set seed to a random number else set seed to the given number. More...
 
uniform (const T a, const T b)
 Generate a uniformly distributed random number between a and b. More...
 
uniform (void)
 Return a uniformly distributed random number between 0 and 1 (exclusive). More...
 
 ~RNG ()
 

Private Attributes

moose::MOOSE_UNIFORM_DISTRIBUTION
< double > 
dist_
 
res_
 
moose::MOOSE_RNG_DEFAULT_ENGINE rng_
 
seed_
 

Detailed Description

template<typename T>
class moose::RNG< T >

Definition at line 42 of file RNG.h.

Constructor & Destructor Documentation

template<typename T>
moose::RNG< T >::RNG ( )
inline

Definition at line 45 of file RNG.h.

46  {
47  // Setup a random seed if possible.
48  setRandomSeed( );
49  }
void setRandomSeed()
Definition: RNG.h:54
template<typename T>
moose::RNG< T >::~RNG ( )
inline

Definition at line 51 of file RNG.h.

52  { ; }

Member Function Documentation

template<typename T>
T moose::RNG< T >::getSeed ( void  )
inline

Definition at line 61 of file RNG.h.

62  {
63  return seed_;
64  }
T seed_
Definition: RNG.h:110
template<typename T>
void moose::RNG< T >::setRandomSeed ( )
inline

Definition at line 54 of file RNG.h.

55  {
57  setSeed( rd_() );
58  }
void setSeed(const unsigned long seed)
If seed if 0 then set seed to a random number else set seed to the given number.
Definition: RNG.h:73
std::random_device MOOSE_RANDOM_DEVICE
Definition: Definitions.h:29
template<typename T>
void moose::RNG< T >::setSeed ( const unsigned long  seed)
inline

If seed if 0 then set seed to a random number else set seed to the given number.

Parameters
seed

Definition at line 73 of file RNG.h.

Referenced by moose::mtseed(), GssaVoxelPools::reinit(), and ZombieCompartment::vReinit().

74  {
75  seed_ = seed;
76  if( seed == 0 )
77  {
79  seed_ = rd_();
80  }
81  rng_.seed( seed_ );
82  }
moose::MOOSE_RNG_DEFAULT_ENGINE rng_
Definition: RNG.h:112
T seed_
Definition: RNG.h:110
std::random_device MOOSE_RANDOM_DEVICE
Definition: Definitions.h:29

+ Here is the caller graph for this function:

template<typename T>
T moose::RNG< T >::uniform ( const T  a,
const T  b 
)
inline

Generate a uniformly distributed random number between a and b.

Parameters
aLower limit (inclusive)
bUpper limit (inclusive).

Definition at line 90 of file RNG.h.

Referenced by GssaVoxelPools::advance(), moose::mtrand(), ZombieCompartment::mtrand(), GssaVoxelPools::pickReac(), GssaVoxelPools::recalcTime(), GssaVoxelPools::reinit(), and GssaVoxelPools::xferIn().

91  {
92  return ( b - a ) * dist_( rng_ ) + a;
93  }
moose::MOOSE_RNG_DEFAULT_ENGINE rng_
Definition: RNG.h:112
moose::MOOSE_UNIFORM_DISTRIBUTION< double > dist_
Definition: RNG.h:113

+ Here is the caller graph for this function:

template<typename T>
T moose::RNG< T >::uniform ( void  )
inline

Return a uniformly distributed random number between 0 and 1 (exclusive).

Returns
randum number.

Definition at line 101 of file RNG.h.

102  {
103  return dist_( rng_ );
104  }
moose::MOOSE_RNG_DEFAULT_ENGINE rng_
Definition: RNG.h:112
moose::MOOSE_UNIFORM_DISTRIBUTION< double > dist_
Definition: RNG.h:113

Member Data Documentation

template<typename T>
moose::MOOSE_UNIFORM_DISTRIBUTION<double> moose::RNG< T >::dist_
private

Definition at line 113 of file RNG.h.

template<typename T>
T moose::RNG< T >::res_
private

Definition at line 109 of file RNG.h.

template<typename T>
moose::MOOSE_RNG_DEFAULT_ENGINE moose::RNG< T >::rng_
private

Definition at line 112 of file RNG.h.

template<typename T>
T moose::RNG< T >::seed_
private

Definition at line 110 of file RNG.h.


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