Geant4-11
|
Namespaces | |
namespace | anonymous_namespace{G4INCLRandom.cc} |
Data Structures | |
class | Adapter |
class | SeedVector |
Functions | |
std::pair< G4double, G4double > | correlatedGaussian (const G4double corrCoeff, const G4double x0=0., const G4double sigma=1.) |
Generate pairs of correlated Gaussian random numbers. More... | |
std::pair< G4double, G4double > | correlatedUniform (const G4double corrCoeff) |
Generate pairs of correlated uniform random numbers. More... | |
void | deleteGenerator () |
G4double | gauss (G4double sigma=1.) |
ThreeVector | gaussVector (G4double sigma=1.) |
Generate Gaussianly-distributed ThreeVectors. More... | |
G4double | gaussWithMemory (G4double sigma=1.) |
Adapter const & | getAdapter () |
SeedVector | getSavedSeeds () |
Get the saved status of the random-number generator. More... | |
SeedVector | getSeeds () |
void | initialize (Config const *const) |
Initialize generator according to a Config object. More... | |
G4bool | isInitialized () |
ThreeVector | normVector (G4double norm=1.) |
std::ostream & | operator<< (std::ostream &out, SeedVector const &sv) |
void | saveSeeds () |
Save the status of the random-number generator. More... | |
void | setGenerator (G4INCL::IRandomGenerator *aGenerator) |
void | setSeeds (const SeedVector &sv) |
G4double | shoot () |
G4double | shoot0 () |
G4double | shoot1 () |
template<typename T > | |
T | shootInteger (T n) |
ThreeVector | sphereVector (G4double rmax=1.) |
std::pair< G4double, G4double > G4INCL::Random::correlatedGaussian | ( | const G4double | corrCoeff, |
const G4double | x0 = 0. , |
||
const G4double | sigma = 1. |
||
) |
Generate pairs of correlated Gaussian random numbers.
Definition at line 183 of file G4INCLRandom.cc.
References gauss(), and gaussWithMemory().
Referenced by correlatedUniform().
Generate pairs of correlated uniform random numbers.
Definition at line 199 of file G4INCLRandom.cc.
References correlatedGaussian(), and G4INCL::Math::gaussianCDF().
Referenced by G4INCL::ParticleSampler::sampleOneParticleWithFuzzyRPCorrelation().
void G4INCL::Random::deleteGenerator | ( | ) |
Delete the generator
Definition at line 204 of file G4INCLRandom.cc.
References G4INCL::Random::anonymous_namespace{G4INCLRandom.cc}::savedSeeds, G4INCL::Random::anonymous_namespace{G4INCLRandom.cc}::theAdapter, and G4INCL::Random::anonymous_namespace{G4INCLRandom.cc}::theGenerator.
Referenced by G4INCL::INCL::~INCL().
Generate random numbers using gaussian distribution.
Definition at line 137 of file G4INCLRandom.cc.
References G4INCL::DeJongSpin::shoot().
Referenced by correlatedGaussian(), G4INCL::NNToMissingStrangenessChannel::fillFinalState(), G4INCL::NpiToMissingStrangenessChannel::fillFinalState(), and gaussVector().
ThreeVector G4INCL::Random::gaussVector | ( | G4double | sigma = 1. | ) |
Generate Gaussianly-distributed ThreeVectors.
Generate ThreeVectors that are distributed as a three-dimensional Gaussian of the given sigma.
Definition at line 178 of file G4INCLRandom.cc.
References gauss(), and G4INCL::Math::oneOverSqrtThree.
Referenced by G4INCL::DeJongSpin::shoot().
Generate random numbers using gaussian distribution to be used only for correlated pairs
Definition at line 141 of file G4INCLRandom.cc.
References G4ThreadLocal, shoot(), shoot0(), and G4INCL::Math::twoPi.
Referenced by correlatedGaussian().
Adapter const & G4INCL::Random::getAdapter | ( | ) |
Definition at line 257 of file G4INCLRandom.cc.
References G4INCL::Random::anonymous_namespace{G4INCLRandom.cc}::theAdapter.
Referenced by G4INCL::NNEtaToMultiPionsChannel::isospinRepartition(), G4INCL::NNOmegaToMultiPionsChannel::isospinRepartition(), G4INCL::NNToMultiPionsChannel::isospinRepartition(), G4INCL::PiNToMultiPionsChannel::isospinRepartition(), G4INCL::INCL::makeCompoundNucleus(), and G4INCL::ProjectileRemnant::shuffleStoredComponents().
SeedVector G4INCL::Random::getSavedSeeds | ( | ) |
Get the saved status of the random-number generator.
Definition at line 232 of file G4INCLRandom.cc.
References G4INCL::Random::anonymous_namespace{G4INCLRandom.cc}::savedSeeds.
SeedVector G4INCL::Random::getSeeds | ( | ) |
Get the seeds of the current generator.
Definition at line 89 of file G4INCLRandom.cc.
References G4INCL::IRandomGenerator::getSeeds(), and G4INCL::Random::anonymous_namespace{G4INCLRandom.cc}::theGenerator.
Referenced by G4INCL::CascadeAction::afterAvatarDefaultAction(), G4INCL::CascadeAction::beforeAvatarDefaultAction(), G4INCL::IAvatar::fillFinalState(), G4INCL::INCL::finalizeGlobalInfo(), and G4INCL::InteractionAvatar::postInteraction().
void G4INCL::Random::initialize | ( | Config const * const | ) |
Initialize generator according to a Config object.
Definition at line 239 of file G4INCLRandom.cc.
References G4INCL::Ranecu3Type, G4INCL::RanecuType, and setGenerator().
Referenced by G4INCL::INCL::INCL().
G4bool G4INCL::Random::isInitialized | ( | ) |
Check if the generator is initialized.
Definition at line 213 of file G4INCLRandom.cc.
References G4INCL::Random::anonymous_namespace{G4INCLRandom.cc}::theGenerator.
Referenced by G4XmlRNtupleManager::GetTNtupleRow(), G4Hdf5RNtupleManager::GetTNtupleRow(), G4CsvRNtupleManager::GetTNtupleRow(), G4RootRNtupleManager::GetTNtupleRow(), and setGenerator().
ThreeVector G4INCL::Random::normVector | ( | G4double | norm = 1. | ) |
Generate isotropically-distributed ThreeVectors of given norm.
Definition at line 162 of file G4INCLRandom.cc.
References shoot(), and G4INCL::Math::twoPi.
Referenced by G4INCL::EtaNElasticChannel::fillFinalState(), G4INCL::NKElasticChannel::fillFinalState(), G4INCL::NKToNKChannel::fillFinalState(), G4INCL::NLToNSChannel::fillFinalState(), G4INCL::NSToNLChannel::fillFinalState(), G4INCL::NSToNSChannel::fillFinalState(), G4INCL::NYElasticChannel::fillFinalState(), G4INCL::OmegaNElasticChannel::fillFinalState(), G4INCL::OmegaNToPiNChannel::fillFinalState(), G4INCL::PiNToOmegaChannel::fillFinalState(), G4INCL::RecombinationChannel::fillFinalState(), G4INCL::PhaseSpaceKopylov::generate(), G4INCL::PhaseSpaceRauboldLynch::generateEvent(), G4INCL::NKbElasticChannel::KaonMomentum(), G4INCL::NKbToLpiChannel::KaonMomentum(), G4INCL::NKbToNKbChannel::KaonMomentum(), G4INCL::NKbToSpiChannel::KaonMomentum(), G4INCL::NpiToLKChannel::KaonMomentum(), G4INCL::NpiToSKChannel::KaonMomentum(), G4INCL::ParticleSampler::sampleOneParticleWithFuzzyRPCorrelation(), G4INCL::ParticleSampler::sampleOneParticleWithoutRPCorrelation(), sphereVector(), G4INCL::ClusterDecay::anonymous_namespace{G4INCLClusterDecay.cc}::threeBodyDecay(), and G4INCL::ClusterDecay::anonymous_namespace{G4INCLClusterDecay.cc}::twoBodyDecay().
std::ostream & G4INCL::Random::operator<< | ( | std::ostream & | out, |
SeedVector const & | sv | ||
) |
Definition at line 50 of file G4INCLRandomSeedVector.cc.
void G4INCL::Random::saveSeeds | ( | ) |
Save the status of the random-number generator.
Definition at line 225 of file G4INCLRandom.cc.
References G4INCL::IRandomGenerator::getSeeds(), G4INCL::Random::anonymous_namespace{G4INCLRandom.cc}::savedSeeds, and G4INCL::Random::anonymous_namespace{G4INCLRandom.cc}::theGenerator.
void G4INCL::Random::setGenerator | ( | G4INCL::IRandomGenerator * | aGenerator | ) |
Set the random number generator implementation to be used globally by INCL.
Definition at line 72 of file G4INCLRandom.cc.
References INCL_ERROR, isInitialized(), G4INCL::Random::anonymous_namespace{G4INCLRandom.cc}::theAdapter, and G4INCL::Random::anonymous_namespace{G4INCLRandom.cc}::theGenerator.
Referenced by initialize().
void G4INCL::Random::setSeeds | ( | const SeedVector & | sv | ) |
Set the seeds of the current generator.
Definition at line 85 of file G4INCLRandom.cc.
References G4INCL::IRandomGenerator::setSeeds(), and G4INCL::Random::anonymous_namespace{G4INCLRandom.cc}::theGenerator.
G4double G4INCL::Random::shoot | ( | ) |
Generate flat distribution of random numbers.
Definition at line 93 of file G4INCLRandom.cc.
References G4INCL::IRandomGenerator::flat(), and G4INCL::Random::anonymous_namespace{G4INCLRandom.cc}::theGenerator.
Referenced by G4INCL::PhaseSpaceKopylov::betaKopylov(), G4INCL::anonymous_namespace{G4INCLPhaseSpaceGenerator.cc}::bias(), G4INCL::DeltaDecayChannel::computeDecayTime(), G4INCL::PionResonanceDecayChannel::computeDecayTime(), G4INCL::SigmaZeroDecayChannel::computeDecayTime(), G4INCL::PhaseSpaceRauboldLynch::computeWeight(), G4INCL::Nucleus::decayInsideStrangeParticles(), G4INCL::IsotopicDistribution::drawRandomIsotope(), G4INCL::DeltaDecayChannel::fillFinalState(), G4INCL::DeltaProductionChannel::fillFinalState(), G4INCL::ElasticChannel::fillFinalState(), G4INCL::EtaNElasticChannel::fillFinalState(), G4INCL::EtaNToPiNChannel::fillFinalState(), G4INCL::EtaNToPiPiNChannel::fillFinalState(), G4INCL::NDeltaEtaProductionChannel::fillFinalState(), G4INCL::NDeltaOmegaProductionChannel::fillFinalState(), G4INCL::NDeltaToDeltaLKChannel::fillFinalState(), G4INCL::NDeltaToDeltaSKChannel::fillFinalState(), G4INCL::NDeltaToNLKChannel::fillFinalState(), G4INCL::NDeltaToNNKKbChannel::fillFinalState(), G4INCL::NDeltaToNSKChannel::fillFinalState(), G4INCL::NeutralKaonDecayChannel::fillFinalState(), G4INCL::NKbToL2piChannel::fillFinalState(), G4INCL::NKbToNKb2piChannel::fillFinalState(), G4INCL::NKbToNKbpiChannel::fillFinalState(), G4INCL::NKbToS2piChannel::fillFinalState(), G4INCL::NKbToSpiChannel::fillFinalState(), G4INCL::NKToNK2piChannel::fillFinalState(), G4INCL::NKToNKpiChannel::fillFinalState(), G4INCL::NLToNSChannel::fillFinalState(), G4INCL::NNEtaToMultiPionsChannel::fillFinalState(), G4INCL::NNOmegaToMultiPionsChannel::fillFinalState(), G4INCL::NNToMissingStrangenessChannel::fillFinalState(), G4INCL::NNToMultiPionsChannel::fillFinalState(), G4INCL::NNToNLK2piChannel::fillFinalState(), G4INCL::NNToNLKChannel::fillFinalState(), G4INCL::NNToNLKpiChannel::fillFinalState(), G4INCL::NNToNNEtaChannel::fillFinalState(), G4INCL::NNToNNKKbChannel::fillFinalState(), G4INCL::NNToNNOmegaChannel::fillFinalState(), G4INCL::NNToNSK2piChannel::fillFinalState(), G4INCL::NNToNSKChannel::fillFinalState(), G4INCL::NNToNSKpiChannel::fillFinalState(), G4INCL::NpiToLK2piChannel::fillFinalState(), G4INCL::NpiToLKpiChannel::fillFinalState(), G4INCL::NpiToMissingStrangenessChannel::fillFinalState(), G4INCL::NpiToNKKbChannel::fillFinalState(), G4INCL::NpiToSK2piChannel::fillFinalState(), G4INCL::NpiToSKChannel::fillFinalState(), G4INCL::NpiToSKpiChannel::fillFinalState(), G4INCL::OmegaNToPiNChannel::fillFinalState(), G4INCL::OmegaNToPiPiNChannel::fillFinalState(), G4INCL::PiNElasticChannel::fillFinalState(), G4INCL::PiNToEtaChannel::fillFinalState(), G4INCL::PionResonanceDecayChannel::fillFinalState(), G4AblaRandom::flat(), gaussWithMemory(), G4INCL::PhaseSpaceRauboldLynch::generate(), G4INCL::BinaryCollisionAvatar::getChannel(), G4INCL::SurfaceAvatar::getChannel(), G4INCL::NNEtaToMultiPionsChannel::inter2Part(), G4INCL::NNOmegaToMultiPionsChannel::inter2Part(), G4INCL::NNToMultiPionsChannel::inter2Part(), G4INCL::PauliGlobal::isBlocked(), G4INCL::PauliStandard::isBlocked(), G4INCL::NNEtaToMultiPionsChannel::isospinRepartition(), G4INCL::NNOmegaToMultiPionsChannel::isospinRepartition(), G4INCL::NNToMultiPionsChannel::isospinRepartition(), G4INCL::PiNToMultiPionsChannel::isospinRepartition(), G4INCL::NKbElasticChannel::KaonMomentum(), G4INCL::NKbToLpiChannel::KaonMomentum(), G4INCL::NKbToNKbChannel::KaonMomentum(), G4INCL::NKbToSpiChannel::KaonMomentum(), G4INCL::NpiToLKChannel::KaonMomentum(), G4INCL::NpiToSKChannel::KaonMomentum(), normVector(), G4INCL::INCL::preCascade(), G4INCL::DeltaDecayChannel::sampleAngles(), G4INCL::PionResonanceDecayChannel::sampleAngles(), G4INCL::SigmaZeroDecayChannel::sampleAngles(), G4INCL::StrangeAbsorbtionChannel::sampleAngles(), G4INCL::DeltaProductionChannel::sampleDeltaMass(), G4INCL::NDeltaEtaProductionChannel::sampleDeltaMass(), G4INCL::NDeltaOmegaProductionChannel::sampleDeltaMass(), G4INCL::NDeltaToDeltaLKChannel::sampleDeltaMass(), G4INCL::NDeltaToDeltaSKChannel::sampleDeltaMass(), G4INCL::ParticleSampler::sampleOneParticleWithoutRPCorrelation(), shoot0(), shoot1(), and G4INCL::ClusterDecay::anonymous_namespace{G4INCLClusterDecay.cc}::threeBodyDecay().
G4double G4INCL::Random::shoot0 | ( | ) |
Return a random number in the ]0,1] interval
Definition at line 100 of file G4INCLRandom.cc.
References shoot().
Referenced by gaussWithMemory(), G4INCL::INCL::preCascade(), and sphereVector().
G4double G4INCL::Random::shoot1 | ( | ) |
Return a random number in the [0,1[ interval
Definition at line 107 of file G4INCLRandom.cc.
References shoot().
Referenced by shootInteger().
T G4INCL::Random::shootInteger | ( | T | n | ) |
Return a random integer in the [0,n[ interval
Definition at line 98 of file G4INCLRandom.hh.
References CLHEP::detail::n, and shoot1().
Referenced by G4INCL::Random::Adapter::operator()().
ThreeVector G4INCL::Random::sphereVector | ( | G4double | rmax = 1. | ) |
Generate ThreeVectors that are uniformly distributed in a sphere of radius rmax.
Definition at line 174 of file G4INCLRandom.cc.
References normVector(), G4INCL::Math::pow13(), and shoot0().
Referenced by G4INCL::ParticleSampler::sampleOneParticleWithFuzzyRPCorrelation(), and G4INCL::ParticleSampler::sampleOneParticleWithRPCorrelation().