ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <geant4/tree/geant4-10.6-release/source/externals/clhep/include/CLHEP/Random/MixMaxRng.h>
Classes | |
struct | rng_state_st |
Public Member Functions | |
MixMaxRng (std::istream &is) | |
MixMaxRng () | |
MixMaxRng (long seed) | |
~MixMaxRng () | |
MixMaxRng (const MixMaxRng &rng) | |
MixMaxRng & | operator= (const MixMaxRng &rng) |
double | flat () |
void | flatArray (const int size, double *vect) |
void | setSeed (long seed, int dum=0) |
void | setSeeds (const long *seeds, int seedNum=0) |
void | saveStatus (const char filename[]="MixMaxRngState.conf") const |
void | restoreStatus (const char filename[]="MixMaxRngState.conf") |
void | showStatus () const |
operator double () | |
operator float () | |
operator unsigned int () | |
virtual std::ostream & | put (std::ostream &os) const |
virtual std::istream & | get (std::istream &is) |
virtual std::istream & | getState (std::istream &is) |
std::string | name () const |
std::vector< unsigned long > | put () const |
bool | get (const std::vector< unsigned long > &v) |
bool | getState (const std::vector< unsigned long > &v) |
Public Member Functions inherited from CLHEP::HepRandomEngine | |
HepRandomEngine () | |
virtual | ~HepRandomEngine () |
bool | operator== (const HepRandomEngine &engine) |
bool | operator!= (const HepRandomEngine &engine) |
long | getSeed () const |
const long * | getSeeds () const |
Static Public Member Functions | |
static std::string | beginTag () |
static std::string | engineName () |
Static Public Member Functions inherited from CLHEP::HepRandomEngine | |
static std::string | beginTag () |
static HepRandomEngine * | newEngine (std::istream &is) |
static HepRandomEngine * | newEngine (const std::vector< unsigned long > &v) |
Private Types | |
typedef struct rng_state_st | rng_state_t |
Private Member Functions | |
void | seed_uniquestream (myID_t clusterID, myID_t machineID, myID_t runID, myID_t streamID) |
void | seed_spbox (myuint_t) |
void | print_state () const |
myuint_t | precalc () |
myuint_t | get_next () |
double | get_next_float () |
MixMaxRng | Branch () |
void | BranchInplace (int id) |
MixMaxRng (myID_t clusterID, myID_t machineID, myID_t runID, myID_t streamID) | |
void | seed64 (myuint_t seedval) |
double | generate (int i) |
double | iterate () |
double | get_next_float_packbits () |
double | convert1double (myuint_t u) |
myuint_t | MOD_MULSPEC (myuint_t k) |
myuint_t | MULWU (myuint_t k) |
void | seed_vielbein (unsigned int i) |
myuint_t | iterate_raw_vec (myuint_t *Y, myuint_t sumtotOld) |
myuint_t | apply_bigskip (myuint_t *Vout, myuint_t *Vin, myID_t clusterID, myID_t machineID, myID_t runID, myID_t streamID) |
myuint_t | modadd (myuint_t foo, myuint_t bar) |
myuint_t | fmodmulM61 (myuint_t cum, myuint_t s, myuint_t a) |
Static Private Member Functions | |
static constexpr int | rng_get_N () |
static constexpr long long int | rng_get_SPECIAL () |
static constexpr int | rng_get_SPECIALMUL () |
Private Attributes | |
rng_state_t | S |
Static Private Attributes | |
static const int | N = 17 |
static constexpr long long int | SPECIAL = ((N==17)? 0 : ((N==240)? 487013230256099140ULL:0) ) |
static constexpr long long int | SPECIALMUL = ((N==17)? 36: ((N==240)? 51 :53) ) |
static constexpr int | BITS =61 |
static constexpr myuint_t | M61 =2305843009213693951ULL |
static constexpr double | INV_M61 =0.43368086899420177360298E-18 |
static constexpr unsigned int | VECTOR_STATE_SIZE = 2*N+4 |
Additional Inherited Members | |
Static Protected Member Functions inherited from CLHEP::HepRandomEngine | |
static double | exponent_bit_32 () |
static double | mantissa_bit_12 () |
static double | mantissa_bit_24 () |
static double | mantissa_bit_32 () |
static double | twoToMinus_32 () |
static double | twoToMinus_48 () |
static double | twoToMinus_49 () |
static double | twoToMinus_53 () |
static double | nearlyTwoToMinus_54 () |
static bool | checkFile (std::istream &file, const std::string &filename, const std::string &classname, const std::string &methodname) |
Protected Attributes inherited from CLHEP::HepRandomEngine | |
long | theSeed |
const long * | theSeeds |
Definition at line 49 of file MixMaxRng.h.
View newest version in sPHENIX GitHub at line 49 of file MixMaxRng.h
|
private |
Definition at line 181 of file MixMaxRng.h.
View newest version in sPHENIX GitHub at line 181 of file MixMaxRng.h
CLHEP::MixMaxRng::MixMaxRng | ( | std::istream & | is | ) |
Definition at line 66 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 66 of file MixMaxRng.cc
CLHEP::MixMaxRng::MixMaxRng | ( | ) |
Definition at line 52 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 52 of file MixMaxRng.cc
References setSeed().
CLHEP::MixMaxRng::MixMaxRng | ( | long | seed | ) |
Definition at line 59 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 59 of file MixMaxRng.cc
References seed, setSeed(), and CLHEP::HepRandomEngine::theSeed.
CLHEP::MixMaxRng::~MixMaxRng | ( | ) |
Definition at line 72 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 72 of file MixMaxRng.cc
CLHEP::MixMaxRng::MixMaxRng | ( | const MixMaxRng & | rng | ) |
Definition at line 76 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 76 of file MixMaxRng.cc
References CLHEP::MixMaxRng::rng_state_st::counter, S, CLHEP::MixMaxRng::rng_state_st::sumtot, and CLHEP::MixMaxRng::rng_state_st::V.
|
private |
|
private |
Definition at line 596 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 596 of file MixMaxRng.cc
References fmodmulM61(), iterate_raw_vec(), modadd(), N, r, and Y.
Referenced by seed_uniquestream().
|
static |
Definition at line 399 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 399 of file MixMaxRng.cc
|
private |
Definition at line 728 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 728 of file MixMaxRng.cc
References BranchInplace(), CLHEP::MixMaxRng::rng_state_st::counter, iterate_raw_vec(), S, CLHEP::MixMaxRng::rng_state_st::sumtot, tmp, and CLHEP::MixMaxRng::rng_state_st::V.
Definition at line 736 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 736 of file MixMaxRng.cc
References CLHEP::MixMaxRng::rng_state_st::counter, iterate_raw_vec(), M61, MIXMAX_MOD_MERSENNE, S, CLHEP::MixMaxRng::rng_state_st::sumtot, tmp, and CLHEP::MixMaxRng::rng_state_st::V.
Referenced by Branch().
|
inlineprivate |
Definition at line 148 of file MixMaxRng.h.
View newest version in sPHENIX GitHub at line 148 of file MixMaxRng.h
Referenced by generate(), and get_next_float_packbits().
|
static |
Definition at line 249 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 249 of file MixMaxRng.cc
|
inlinevirtual |
Implements CLHEP::HepRandomEngine.
Definition at line 65 of file MixMaxRng.h.
View newest version in sPHENIX GitHub at line 65 of file MixMaxRng.h
References CLHEP::MixMaxRng::rng_state_st::counter, generate(), iterate(), N, and S.
Referenced by flatArray().
Implements CLHEP::HepRandomEngine.
Definition at line 323 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 323 of file MixMaxRng.cc
References flat().
Definition at line 680 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 680 of file MixMaxRng.cc
References M61, MASK32, readPY::pl, and CLHEP::s.
Referenced by apply_bigskip(), and MOD_MULSPEC().
|
private |
Definition at line 269 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 269 of file MixMaxRng.cc
References convert1double(), CLHEP::MixMaxRng::rng_state_st::counter, F, INV_M61, S, CLHEP::MixMaxRng::rng_state_st::V, and Z.
Referenced by flat().
|
virtual |
Reimplemented from CLHEP::HepRandomEngine.
Definition at line 381 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 381 of file MixMaxRng.cc
References getState(), and CLHEP::MarkerLen.
|
virtual |
Reimplemented from CLHEP::HepRandomEngine.
Definition at line 437 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 437 of file MixMaxRng.cc
References getState().
|
private |
Definition at line 514 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 514 of file MixMaxRng.cc
References CLHEP::MixMaxRng::rng_state_st::counter, iterate_raw_vec(), N, S, CLHEP::MixMaxRng::rng_state_st::sumtot, and CLHEP::MixMaxRng::rng_state_st::V.
Referenced by get_next_float_packbits().
|
inlineprivate |
Definition at line 131 of file MixMaxRng.h.
View newest version in sPHENIX GitHub at line 131 of file MixMaxRng.h
References get_next_float_packbits().
|
private |
Definition at line 544 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 544 of file MixMaxRng.cc
References convert1double(), get_next(), and Z.
Referenced by get_next_float().
|
virtual |
Reimplemented from CLHEP::HepRandomEngine.
Definition at line 404 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 404 of file MixMaxRng.cc
References CLHEP::MixMaxRng::rng_state_st::counter, CLHEP::MarkerLen, precalc(), rng_get_N(), S, CLHEP::MixMaxRng::rng_state_st::sumtot, CLHEP::HepRandomEngine::theSeed, and CLHEP::MixMaxRng::rng_state_st::V.
Referenced by get().
|
virtual |
Reimplemented from CLHEP::HepRandomEngine.
Definition at line 447 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 447 of file MixMaxRng.cc
References CLHEP::MixMaxRng::rng_state_st::counter, MASK32, precalc(), rng_get_N(), S, CLHEP::MixMaxRng::rng_state_st::sumtot, CLHEP::MixMaxRng::rng_state_st::V, and VECTOR_STATE_SIZE.
|
private |
Definition at line 293 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 293 of file MixMaxRng.cc
References CLHEP::MixMaxRng::rng_state_st::counter, INV_M61, MIXMAX_MOD_MERSENNE, modadd(), MULWU(), S, CLHEP::MixMaxRng::rng_state_st::sumtot, CLHEP::MixMaxRng::rng_state_st::V, and Y.
Referenced by flat().
Definition at line 494 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 494 of file MixMaxRng.cc
References MIXMAX_MOD_MERSENNE, modadd(), MULWU(), and N.
Referenced by apply_bigskip(), Branch(), BranchInplace(), and get_next().
Definition at line 469 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 469 of file MixMaxRng.cc
References fmodmulM61(), N, and SPECIAL.
Definition at line 696 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 696 of file MixMaxRng.cc
References MIXMAX_MOD_MERSENNE.
Referenced by apply_bigskip(), iterate(), and iterate_raw_vec().
Definition at line 489 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 489 of file MixMaxRng.cc
References BITS, M61, and SPECIALMUL.
Referenced by iterate(), and iterate_raw_vec().
|
inlinevirtual |
Implements CLHEP::HepRandomEngine.
Definition at line 104 of file MixMaxRng.h.
View newest version in sPHENIX GitHub at line 104 of file MixMaxRng.h
|
virtual |
Reimplemented from CLHEP::HepRandomEngine.
Definition at line 329 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 329 of file MixMaxRng.cc
References G4AblaRandom::flat().
|
virtual |
Reimplemented from CLHEP::HepRandomEngine.
Definition at line 334 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 334 of file MixMaxRng.cc
References G4AblaRandom::flat().
|
virtual |
Reimplemented from CLHEP::HepRandomEngine.
Definition at line 339 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 339 of file MixMaxRng.cc
Definition at line 84 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 84 of file MixMaxRng.cc
References CLHEP::MixMaxRng::rng_state_st::counter, S, CLHEP::MixMaxRng::rng_state_st::sumtot, and CLHEP::MixMaxRng::rng_state_st::V.
|
private |
Definition at line 532 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 532 of file MixMaxRng.cc
References MIXMAX_MOD_MERSENNE, N, S, CLHEP::MixMaxRng::rng_state_st::sumtot, and CLHEP::MixMaxRng::rng_state_st::V.
Referenced by getState(), and restoreStatus().
|
private |
Definition at line 714 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 714 of file MixMaxRng.cc
References CLHEP::MixMaxRng::rng_state_st::counter, rng_get_N(), S, CLHEP::MixMaxRng::rng_state_st::sumtot, and CLHEP::MixMaxRng::rng_state_st::V.
Referenced by restoreStatus(), and showStatus().
|
virtual |
Reimplemented from CLHEP::HepRandomEngine.
Definition at line 346 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 346 of file MixMaxRng.cc
References CLHEP::MixMaxRng::rng_state_st::counter, gammaraytel::pr, rng_get_N(), S, CLHEP::MixMaxRng::rng_state_st::sumtot, CLHEP::HepRandomEngine::theSeed, and CLHEP::MixMaxRng::rng_state_st::V.
|
virtual |
Reimplemented from CLHEP::HepRandomEngine.
Definition at line 364 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 364 of file MixMaxRng.cc
References CLHEP::MixMaxRng::rng_state_st::counter, MASK32, rng_get_N(), S, CLHEP::MixMaxRng::rng_state_st::sumtot, v, and CLHEP::MixMaxRng::rng_state_st::V.
|
virtual |
Implements CLHEP::HepRandomEngine.
Definition at line 121 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 121 of file MixMaxRng.cc
References CLHEP::MixMaxRng::rng_state_st::counter, fclose(), fin, M61, precalc(), print_state(), rng_get_N(), S, CLHEP::MixMaxRng::rng_state_st::sumtot, and CLHEP::MixMaxRng::rng_state_st::V.
|
staticprivate |
Definition at line 254 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 254 of file MixMaxRng.cc
References N.
Referenced by getState(), print_state(), put(), restoreStatus(), and saveStatus().
|
staticprivate |
Definition at line 259 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 259 of file MixMaxRng.cc
References SPECIAL.
|
staticprivate |
Definition at line 264 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 264 of file MixMaxRng.cc
References SPECIALMUL.
|
virtual |
Implements CLHEP::HepRandomEngine.
Definition at line 101 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 101 of file MixMaxRng.cc
References CLHEP::MixMaxRng::rng_state_st::counter, fclose(), rng_get_N(), S, CLHEP::MixMaxRng::rng_state_st::sumtot, and CLHEP::MixMaxRng::rng_state_st::V.
Definition at line 138 of file MixMaxRng.h.
View newest version in sPHENIX GitHub at line 138 of file MixMaxRng.h
References seed_uniquestream().
Definition at line 568 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 568 of file MixMaxRng.cc
References CLHEP::MixMaxRng::rng_state_st::counter, M61, MIXMAX_MOD_MERSENNE, N, S, seed, CLHEP::MixMaxRng::rng_state_st::sumtot, and CLHEP::MixMaxRng::rng_state_st::V.
Referenced by setSeed().
|
private |
Definition at line 589 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 589 of file MixMaxRng.cc
References apply_bigskip(), CLHEP::MixMaxRng::rng_state_st::counter, S, seed_vielbein(), CLHEP::MixMaxRng::rng_state_st::sumtot, and CLHEP::MixMaxRng::rng_state_st::V.
Referenced by seed64(), and setSeeds().
Definition at line 550 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 550 of file MixMaxRng.cc
References CLHEP::MixMaxRng::rng_state_st::counter, N, S, CLHEP::MixMaxRng::rng_state_st::sumtot, and CLHEP::MixMaxRng::rng_state_st::V.
Referenced by seed_uniquestream().
Implements CLHEP::HepRandomEngine.
Definition at line 211 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 211 of file MixMaxRng.cc
References seed_spbox(), and CLHEP::HepRandomEngine::theSeed.
Referenced by MixMaxRng().
Implements CLHEP::HepRandomEngine.
Definition at line 222 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 222 of file MixMaxRng.cc
References MASK32, seed_uniquestream(), CLHEP::HepRandomEngine::theSeed, and CLHEP::HepRandomEngine::theSeeds.
|
virtual |
Implements CLHEP::HepRandomEngine.
Definition at line 201 of file MixMaxRng.cc.
View newest version in sPHENIX GitHub at line 201 of file MixMaxRng.cc
References print_state().
|
staticprivate |
Definition at line 116 of file MixMaxRng.h.
View newest version in sPHENIX GitHub at line 116 of file MixMaxRng.h
Referenced by MULWU().
|
staticprivate |
Definition at line 118 of file MixMaxRng.h.
View newest version in sPHENIX GitHub at line 118 of file MixMaxRng.h
Referenced by generate(), and iterate().
|
staticprivate |
Definition at line 117 of file MixMaxRng.h.
View newest version in sPHENIX GitHub at line 117 of file MixMaxRng.h
Referenced by BranchInplace(), fmodmulM61(), MULWU(), restoreStatus(), and seed_spbox().
|
staticprivate |
Definition at line 51 of file MixMaxRng.h.
View newest version in sPHENIX GitHub at line 51 of file MixMaxRng.h
Referenced by apply_bigskip(), flat(), get_next(), iterate_raw_vec(), MOD_MULSPEC(), precalc(), rng_get_N(), seed_spbox(), and seed_vielbein().
|
private |
Definition at line 182 of file MixMaxRng.h.
View newest version in sPHENIX GitHub at line 182 of file MixMaxRng.h
Referenced by Branch(), BranchInplace(), flat(), generate(), get_next(), getState(), iterate(), MixMaxRng(), operator=(), precalc(), print_state(), put(), restoreStatus(), saveStatus(), seed_spbox(), seed_uniquestream(), and seed_vielbein().
|
staticprivate |
Definition at line 113 of file MixMaxRng.h.
View newest version in sPHENIX GitHub at line 113 of file MixMaxRng.h
Referenced by MOD_MULSPEC(), and rng_get_SPECIAL().
|
staticprivate |
Definition at line 114 of file MixMaxRng.h.
View newest version in sPHENIX GitHub at line 114 of file MixMaxRng.h
Referenced by MULWU(), and rng_get_SPECIALMUL().
Definition at line 119 of file MixMaxRng.h.
View newest version in sPHENIX GitHub at line 119 of file MixMaxRng.h
Referenced by getState().