34 #define INCLXX_IN_GEANT4_MODE 1 52 sampleOneProton(&
ParticleSampler::sampleOneParticleWithoutRPCorrelation),
53 sampleOneNeutron(&
ParticleSampler::sampleOneParticleWithoutRPCorrelation),
113 theList.resize(
theA);
122 Particle *p = (this->*sampleOneParticle)(type);
134 theList[0] = aProton;
135 theList[1] = aNeutron;
144 const G4double momentumRatio = momentumAbs/theFermiMomentum;
157 return new Particle(t, momentumVector, positionVector);
ParticleList sampleParticles(ThreeVector const &position)
ThreeVector sphereVector(G4double rmax=1.)
void updateSampleOneParticleMethods()
G4double rpCorrelationCoefficient[UnknownParticle]
Correlation coefficients for the r-p correlation.
InterpolationTable * createPCDFTable(const ParticleType t, const G4int A, const G4int Z)
const G4INCL::ThreeVector & getPosition() const
G4double getFermiMomentum(const Particle *const p) const
Return the Fermi momentum for a particle.
G4double getMaxRFromP(const ParticleType t, const G4double p) const
Get the maximum allowed radius for a given momentum.
~ParticleSampler()
Destructor.
InterpolationTable * createRCDFTable(const ParticleType t, const G4int A, const G4int Z)
void setUncorrelatedMomentum(const G4double p)
Set the uncorrelated momentum.
ThreeVector normVector(G4double norm=1.)
Particle *(ParticleSampler::* ParticleSamplerMethod)(const ParticleType t) const
void sampleParticlesIntoList(ThreeVector const &position, ParticleList &theList)
Class for sampling particles in a nucleus.
double A(double temperature)
void setDensity(NuclearDensity const *const d)
Setter for theDensity.
const G4int theZ
Charge number.
std::pair< G4double, G4double > correlatedUniform(const G4double corrCoeff)
Generate pairs of correlated uniform random numbers.
ParticleSamplerMethod sampleOneProton
Sample a list of particles.
virtual void setPosition(const G4INCL::ThreeVector &position)
InterpolationTable const * theRCDFTable[UnknownParticle]
Array of pointers to the r-space CDF table.
ParticleSampler(const G4int A, const G4int Z)
Constructor.
const G4int theA
Mass number.
NuclearPotential::INuclearPotential const * thePotential
Pointer to the Cluster's NuclearPotential.
Particle * sampleOneParticleWithFuzzyRPCorrelation(const ParticleType t) const
Sample one particle with a fuzzy rp-correlation.
ParticleSamplerMethod sampleOneNeutron
Sample a list of particles.
InterpolationTable const * thePCDFTable[UnknownParticle]
Array of pointers to the p-space CDF table.
void setPotential(NuclearPotential::INuclearPotential const *const p)
Setter for thePotential.
Particle * sampleOneParticleWithoutRPCorrelation(const ParticleType t) const
Sample one particle not taking into account the rp-correlation.
G4double getRPCorrelationCoefficient(const ParticleType t)
Get the value of the r-p correlation coefficient.
const G4INCL::ThreeVector & getMomentum() const
G4double pow13(G4double x)
NuclearDensity const * theDensity
Pointer to the Cluster's NuclearDensity.
Particle * sampleOneParticleWithRPCorrelation(const ParticleType t) const
Sample one particle taking into account the rp-correlation.