Geant4  10.00.p02
G4INCL::ParticleSampler Class Reference

#include <G4INCLParticleSampler.hh>

+ Collaboration diagram for G4INCL::ParticleSampler:

Public Member Functions

 ParticleSampler (const G4int A, const G4int Z)
 Constructor. More...
 
 ~ParticleSampler ()
 Destructor. More...
 
NuclearDensity const * getDensity () const
 Getter for theDensity. More...
 
NuclearPotential::INuclearPotential
const * 
getPotential () const
 Getter for thePotential. More...
 
G4double getRPCorrelationCoefficient (const ParticleType t) const
 Getter for rpCorrelationCoefficient. More...
 
void setDensity (NuclearDensity const *const d)
 Setter for theDensity. More...
 
void setPotential (NuclearPotential::INuclearPotential const *const p)
 Setter for thePotential. More...
 
void setRPCorrelationCoefficient (const ParticleType t, const G4double corrCoeff)
 Setter for rpCorrelationCoefficient. More...
 
ParticleList sampleParticles (ThreeVector const &position)
 

Private Types

typedef Particle
*(ParticleSampler::* 
ParticleSamplerMethod )(const ParticleType t) const
 

Private Member Functions

void updateSampleOneParticleMethods ()
 
ParticlesampleOneParticleWithRPCorrelation (const ParticleType t) const
 Sample one particle taking into account the rp-correlation. More...
 
ParticlesampleOneParticleWithoutRPCorrelation (const ParticleType t) const
 Sample one particle not taking into account the rp-correlation. More...
 
ParticlesampleOneParticleWithFuzzyRPCorrelation (const ParticleType t) const
 Sample one particle with a fuzzy rp-correlation. More...
 

Private Attributes

ParticleSamplerMethod sampleOneProton
 Sample a list of particles. More...
 
ParticleSamplerMethod sampleOneNeutron
 Sample a list of particles. More...
 
const G4int theA
 Mass number. More...
 
const G4int theZ
 Charge number. More...
 
InverseInterpolationTable const * theRCDFTable [UnknownParticle]
 Array of pointers to the r-space CDF table. More...
 
InverseInterpolationTable const * thePCDFTable [UnknownParticle]
 Array of pointers to the p-space CDF table. More...
 
NuclearDensity const * theDensity
 Pointer to the Cluster's NuclearDensity. More...
 
NuclearPotential::INuclearPotential
const * 
thePotential
 Pointer to the Cluster's NuclearPotential. More...
 
G4double rpCorrelationCoefficient [UnknownParticle]
 Correlation coefficients for the r-p correlation. More...
 

Detailed Description

Definition at line 52 of file G4INCLParticleSampler.hh.

Member Typedef Documentation

typedef Particle*(ParticleSampler::* G4INCL::ParticleSampler::ParticleSamplerMethod)(const ParticleType t) const
private

Definition at line 95 of file G4INCLParticleSampler.hh.

Constructor & Destructor Documentation

G4INCL::ParticleSampler::ParticleSampler ( const G4int  A,
const G4int  Z 
)

Constructor.

Parameters
Athe mass number
Zthe charge number

Definition at line 50 of file G4INCLParticleSampler.cc.

References G4INCL::ParticleTable::getRPCorrelationCoefficient(), G4INCL::Neutron, G4INCL::Proton, rpCorrelationCoefficient, thePCDFTable, theRCDFTable, and G4INCL::UnknownParticle.

+ Here is the call graph for this function:

G4INCL::ParticleSampler::~ParticleSampler ( )

Destructor.

Definition at line 65 of file G4INCLParticleSampler.cc.

Member Function Documentation

NuclearDensity const* G4INCL::ParticleSampler::getDensity ( ) const
inline

Getter for theDensity.

Definition at line 66 of file G4INCLParticleSampler.hh.

References theDensity.

NuclearPotential::INuclearPotential const* G4INCL::ParticleSampler::getPotential ( ) const
inline

Getter for thePotential.

Definition at line 69 of file G4INCLParticleSampler.hh.

References thePotential.

G4double G4INCL::ParticleSampler::getRPCorrelationCoefficient ( const ParticleType  t) const
inline

Getter for rpCorrelationCoefficient.

Definition at line 72 of file G4INCLParticleSampler.hh.

References rpCorrelationCoefficient.

Particle * G4INCL::ParticleSampler::sampleOneParticleWithFuzzyRPCorrelation ( const ParticleType  t) const
private

Sample one particle with a fuzzy rp-correlation.

Definition at line 155 of file G4INCLParticleSampler.cc.

References G4INCL::Random::correlatedUniform(), G4INCL::NuclearPotential::INuclearPotential::getFermiMomentum(), G4INCL::NuclearDensity::getMaxRFromP(), G4INCL::Random::normVector(), G4INCL::Math::pow13(), rpCorrelationCoefficient, G4INCL::Particle::setUncorrelatedMomentum(), G4INCL::Random::sphereVector(), theDensity, and thePotential.

Referenced by updateSampleOneParticleMethods().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Particle * G4INCL::ParticleSampler::sampleOneParticleWithoutRPCorrelation ( const ParticleType  t) const
private

Sample one particle not taking into account the rp-correlation.

Definition at line 147 of file G4INCLParticleSampler.cc.

References G4INCL::Random::normVector(), position, G4INCL::Random::shoot(), thePCDFTable, and theRCDFTable.

Referenced by sampleParticles(), and updateSampleOneParticleMethods().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Particle * G4INCL::ParticleSampler::sampleOneParticleWithRPCorrelation ( const ParticleType  t) const
private

Sample one particle taking into account the rp-correlation.

Definition at line 134 of file G4INCLParticleSampler.cc.

References G4INCL::NuclearPotential::INuclearPotential::getFermiMomentum(), G4INCL::NuclearDensity::getMaxRFromP(), G4INCL::ThreeVector::mag(), G4INCL::Particle::setUncorrelatedMomentum(), G4INCL::Random::sphereVector(), theDensity, and thePotential.

Referenced by updateSampleOneParticleMethods().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ParticleList G4INCL::ParticleSampler::sampleParticles ( ThreeVector const &  position)

Definition at line 96 of file G4INCLParticleSampler.cc.

References G4INCL::NuclearDensityFactory::createPCDFTable(), G4INCL::NuclearDensityFactory::createRCDFTable(), G4INCL::Particle::getMomentum(), G4INCL::Particle::getPosition(), G4INCL::Neutron, G4INCL::Proton, sampleOneNeutron, sampleOneParticleWithoutRPCorrelation(), sampleOneProton, G4INCL::Particle::setPosition(), theA, thePCDFTable, theRCDFTable, and theZ.

Referenced by G4INCL::Cluster::initializeParticles().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4INCL::ParticleSampler::setDensity ( NuclearDensity const *const  d)

Setter for theDensity.

Definition at line 68 of file G4INCLParticleSampler.cc.

References theDensity, and updateSampleOneParticleMethods().

Referenced by G4INCL::Nucleus::Nucleus(), and G4INCL::Nucleus::setDensity().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4INCL::ParticleSampler::setPotential ( NuclearPotential::INuclearPotential const *const  p)

Setter for thePotential.

Definition at line 73 of file G4INCLParticleSampler.cc.

References thePotential, and updateSampleOneParticleMethods().

Referenced by G4INCL::Nucleus::Nucleus().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4INCL::ParticleSampler::setRPCorrelationCoefficient ( const ParticleType  t,
const G4double  corrCoeff 
)
inline

Setter for rpCorrelationCoefficient.

Definition at line 84 of file G4INCLParticleSampler.hh.

References rpCorrelationCoefficient.

void G4INCL::ParticleSampler::updateSampleOneParticleMethods ( )
private

Definition at line 78 of file G4INCLParticleSampler.cc.

References G4INCL::Neutron, G4INCL::Proton, rpCorrelationCoefficient, sampleOneNeutron, sampleOneParticleWithFuzzyRPCorrelation(), sampleOneParticleWithoutRPCorrelation(), sampleOneParticleWithRPCorrelation(), sampleOneProton, theDensity, and thePotential.

Referenced by setDensity(), and setPotential().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4double G4INCL::ParticleSampler::rpCorrelationCoefficient[UnknownParticle]
private
ParticleSamplerMethod G4INCL::ParticleSampler::sampleOneNeutron
private

Sample a list of particles.

This method is a pointer to the method that does the real work for neutrons.

Definition at line 107 of file G4INCLParticleSampler.hh.

Referenced by sampleParticles(), and updateSampleOneParticleMethods().

ParticleSamplerMethod G4INCL::ParticleSampler::sampleOneProton
private

Sample a list of particles.

This method is a pointer to the method that does the real work for protons.

Definition at line 101 of file G4INCLParticleSampler.hh.

Referenced by sampleParticles(), and updateSampleOneParticleMethods().

const G4int G4INCL::ParticleSampler::theA
private

Mass number.

Definition at line 119 of file G4INCLParticleSampler.hh.

Referenced by sampleParticles().

NuclearDensity const* G4INCL::ParticleSampler::theDensity
private
InverseInterpolationTable const* G4INCL::ParticleSampler::thePCDFTable[UnknownParticle]
private

Array of pointers to the p-space CDF table.

Definition at line 128 of file G4INCLParticleSampler.hh.

Referenced by ParticleSampler(), sampleOneParticleWithoutRPCorrelation(), and sampleParticles().

InverseInterpolationTable const* G4INCL::ParticleSampler::theRCDFTable[UnknownParticle]
private

Array of pointers to the r-space CDF table.

Definition at line 125 of file G4INCLParticleSampler.hh.

Referenced by ParticleSampler(), sampleOneParticleWithoutRPCorrelation(), and sampleParticles().

const G4int G4INCL::ParticleSampler::theZ
private

Charge number.

Definition at line 122 of file G4INCLParticleSampler.hh.

Referenced by sampleParticles().


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