34 #define INCLXX_IN_GEANT4_MODE 1
45 #ifndef G4INCLRANDOM_HH_
46 #define G4INCLRANDOM_HH_
97 return static_cast<T
>(
shoot1() *
n);
139 #ifdef INCL_COUNT_RND_CALLS
140 unsigned long long getNumberOfCalls();
151 #ifdef INCLXX_IN_GEANT4_MODE
The INCL configuration object.
ThreeVector gaussVector(G4double sigma=1.)
Generate Gaussianly-distributed ThreeVectors.
ThreeVector sphereVector(G4double rmax=1.)
Generate ThreeVectors that are uniformly distributed in a sphere of radius rmax.
void deleteGenerator()
Delete the generator.
T shootInteger(T n)
Return a random integer in the [0,n[ interval.
void initialize(Config const *const)
Initialize generator according to a Config object.
G4double shoot0()
Return a random number in the ]0,1] interval.
ThreeVector normVector(G4double norm=1.)
Generate isotropically-distributed ThreeVectors of given norm.
void saveSeeds()
Save the status of the random-number generator.
SeedVector getSeeds()
Get the seeds of the current generator.
G4double shoot1()
Return a random number in the [0,1[ interval.
std::pair< G4double, G4double > correlatedUniform(const G4double corrCoeff)
Generate pairs of correlated uniform random numbers.
SeedVector getSavedSeeds()
Get the saved status of the random-number generator.
void setGenerator(G4INCL::IRandomGenerator *aGenerator)
Set the random number generator implementation to be used globally by INCL.
Adapter const & getAdapter()
G4double gauss(G4double sigma=1.)
Generate random numbers using gaussian distribution.
G4double shoot()
Generate flat distribution of random numbers.
G4int operator()(const G4int n) const
std::pair< G4double, G4double > correlatedGaussian(const G4double corrCoeff, const G4double x0=0., const G4double sigma=1.)
Generate pairs of correlated Gaussian random numbers.
G4bool isInitialized()
Check if the generator is initialized.
void setSeeds(const SeedVector &sv)
Set the seeds of the current generator.