Geant4  10.02
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)
 
void sampleParticlesIntoList (ThreeVector const &position, ParticleList &theList)
 

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...
 
InterpolationTable const * theRCDFTable [UnknownParticle]
 Array of pointers to the r-space CDF table. More...
 
InterpolationTable 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 54 of file G4INCLParticleSampler.hh.

Member Typedef Documentation

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

Definition at line 98 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 51 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 66 of file G4INCLParticleSampler.cc.

Member Function Documentation

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

Getter for theDensity.

Definition at line 68 of file G4INCLParticleSampler.hh.

References theDensity.

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

Getter for thePotential.

Definition at line 71 of file G4INCLParticleSampler.hh.

References thePotential.

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

Getter for rpCorrelationCoefficient.

Definition at line 74 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 160 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, thePotential, and x.

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 152 of file G4INCLParticleSampler.cc.

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

Referenced by sampleParticlesIntoList(), 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 139 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 97 of file G4INCLParticleSampler.cc.

References sampleParticlesIntoList().

+ Here is the call graph for this function:

void G4INCL::ParticleSampler::sampleParticlesIntoList ( ThreeVector const &  position,
ParticleList theList 
)

Definition at line 103 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(), and sampleParticles().

+ 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 69 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 74 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 86 of file G4INCLParticleSampler.hh.

References rpCorrelationCoefficient.

void G4INCL::ParticleSampler::updateSampleOneParticleMethods ( )
private

Definition at line 79 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 110 of file G4INCLParticleSampler.hh.

Referenced by sampleParticlesIntoList(), 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 104 of file G4INCLParticleSampler.hh.

Referenced by sampleParticlesIntoList(), and updateSampleOneParticleMethods().

const G4int G4INCL::ParticleSampler::theA
private

Mass number.

Definition at line 122 of file G4INCLParticleSampler.hh.

Referenced by sampleParticlesIntoList().

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

Array of pointers to the p-space CDF table.

Definition at line 131 of file G4INCLParticleSampler.hh.

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

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

Array of pointers to the r-space CDF table.

Definition at line 128 of file G4INCLParticleSampler.hh.

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

const G4int G4INCL::ParticleSampler::theZ
private

Charge number.

Definition at line 125 of file G4INCLParticleSampler.hh.

Referenced by sampleParticlesIntoList().


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