ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4INCL::ParticleSampler Class Reference

#include <geant4/tree/geant4-10.6-release/source/processes/hadronic/models/inclxx/incl_physics/include/G4INCLParticleSampler.hh>

+ Collaboration diagram for G4INCL::ParticleSampler:

Public Member Functions

 ParticleSampler (const G4int A, const G4int Z)
 Constructor.
 
 ~ParticleSampler ()
 Destructor.
 
NuclearDensity const * getDensity () const
 Getter for theDensity.
 
NuclearPotential::INuclearPotential
const * 
getPotential () const
 Getter for thePotential.
 
G4double getRPCorrelationCoefficient (const ParticleType t) const
 Getter for rpCorrelationCoefficient.
 
void setDensity (NuclearDensity const *const d)
 Setter for theDensity.
 
void setPotential (NuclearPotential::INuclearPotential const *const p)
 Setter for thePotential.
 
void setRPCorrelationCoefficient (const ParticleType t, const G4double corrCoeff)
 Setter for rpCorrelationCoefficient.
 
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.
 
ParticlesampleOneParticleWithoutRPCorrelation (const ParticleType t) const
 Sample one particle not taking into account the rp-correlation.
 
ParticlesampleOneParticleWithFuzzyRPCorrelation (const ParticleType t) const
 Sample one particle with a fuzzy rp-correlation.
 

Private Attributes

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

Detailed Description

Definition at line 54 of file G4INCLParticleSampler.hh.

View newest version in sPHENIX GitHub 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.

View newest version in sPHENIX GitHub 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.

View newest version in sPHENIX GitHub 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.

View newest version in sPHENIX GitHub 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.

View newest version in sPHENIX GitHub 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.

View newest version in sPHENIX GitHub 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.

View newest version in sPHENIX GitHub at line 74 of file G4INCLParticleSampler.hh

References rpCorrelationCoefficient, and t.

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.

View newest version in sPHENIX GitHub 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, x, and y.

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.

View newest version in sPHENIX GitHub at line 152 of file G4INCLParticleSampler.cc

References momentum, G4INCL::Random::normVector(), G4INCL::Random::shoot(), t, 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.

View newest version in sPHENIX GitHub at line 139 of file G4INCLParticleSampler.cc

References G4INCL::NuclearPotential::INuclearPotential::getFermiMomentum(), G4INCL::NuclearDensity::getMaxRFromP(), G4INCL::ThreeVector::mag(), Dataset::momentumAbs, 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.

View newest version in sPHENIX GitHub 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.

View newest version in sPHENIX GitHub 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.

View newest version in sPHENIX GitHub at line 69 of file G4INCLParticleSampler.cc

References d, 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.

View newest version in sPHENIX GitHub 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.

View newest version in sPHENIX GitHub at line 86 of file G4INCLParticleSampler.hh

References rpCorrelationCoefficient, and t.

void G4INCL::ParticleSampler::updateSampleOneParticleMethods ( )
private

Definition at line 79 of file G4INCLParticleSampler.cc.

View newest version in sPHENIX GitHub 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

Correlation coefficients for the r-p correlation.

Definition at line 140 of file G4INCLParticleSampler.hh.

View newest version in sPHENIX GitHub at line 140 of file G4INCLParticleSampler.hh

Referenced by getRPCorrelationCoefficient(), ParticleSampler(), sampleOneParticleWithFuzzyRPCorrelation(), setRPCorrelationCoefficient(), and updateSampleOneParticleMethods().

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.

View newest version in sPHENIX GitHub 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.

View newest version in sPHENIX GitHub 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.

View newest version in sPHENIX GitHub 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.

View newest version in sPHENIX GitHub at line 131 of file G4INCLParticleSampler.hh

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

NuclearPotential::INuclearPotential const* G4INCL::ParticleSampler::thePotential
private
InterpolationTable const* G4INCL::ParticleSampler::theRCDFTable[UnknownParticle]
private

Array of pointers to the r-space CDF table.

Definition at line 128 of file G4INCLParticleSampler.hh.

View newest version in sPHENIX GitHub 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.

View newest version in sPHENIX GitHub at line 125 of file G4INCLParticleSampler.hh

Referenced by sampleParticlesIntoList().


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