Geant4  10.02
G4NucleiModel Class Reference

#include <G4NucleiModel.hh>

+ Collaboration diagram for G4NucleiModel:

Public Types

typedef std::pair< std::vector
< G4CascadParticle >
, std::vector
< G4InuclElementaryParticle > > 
modelLists
 

Public Member Functions

 G4NucleiModel ()
 
 G4NucleiModel (G4int a, G4int z)
 
 G4NucleiModel (G4InuclNuclei *nuclei)
 
virtual ~G4NucleiModel ()
 
void setVerboseLevel (G4int verbose)
 
void generateModel (G4InuclNuclei *nuclei)
 
void generateModel (G4int a, G4int z)
 
void reset (G4int nHitNeutrons=0, G4int nHitProtons=0, const std::vector< G4ThreeVector > *hitPoints=0)
 
void printModel () const
 
G4double getDensity (G4int ip, G4int izone) const
 
G4double getFermiMomentum (G4int ip, G4int izone) const
 
G4double getFermiKinetic (G4int ip, G4int izone) const
 
G4double getPotential (G4int ip, G4int izone) const
 
G4double getRadiusUnits () const
 
G4double getRadius () const
 
G4double getRadius (G4int izone) const
 
G4double getVolume (G4int izone) const
 
G4int getNumberOfZones () const
 
G4int getZone (G4double r) const
 
G4int getNumberOfNeutrons () const
 
G4int getNumberOfProtons () const
 
G4bool empty () const
 
G4bool stillInside (const G4CascadParticle &cparticle)
 
G4CascadParticle initializeCascad (G4InuclElementaryParticle *particle)
 
void initializeCascad (G4InuclNuclei *bullet, G4InuclNuclei *target, modelLists &output)
 
std::pair< G4int, G4intgetTypesOfNucleonsInvolved () const
 
void generateParticleFate (G4CascadParticle &cparticle, G4ElementaryParticleCollider *theEPCollider, std::vector< G4CascadParticle > &cascade)
 
G4bool forceFirst (const G4CascadParticle &cparticle) const
 
G4bool isProjectile (const G4CascadParticle &cparticle) const
 
G4bool worthToPropagate (const G4CascadParticle &cparticle) const
 
G4InuclElementaryParticle generateNucleon (G4int type, G4int zone) const
 
G4LorentzVector generateNucleonMomentum (G4int type, G4int zone) const
 
G4double absorptionCrossSection (G4double e, G4int type) const
 
G4double totalCrossSection (G4double ke, G4int rtype) const
 

Static Public Member Functions

static G4bool useQuasiDeuteron (G4int ptype, G4int qdtype=0)
 

Protected Types

typedef std::pair
< G4InuclElementaryParticle,
G4double
partner
 

Protected Member Functions

G4bool passFermi (const std::vector< G4InuclElementaryParticle > &particles, G4int zone)
 
G4bool passTrailing (const G4ThreeVector &hit_position)
 
void boundaryTransition (G4CascadParticle &cparticle)
 
void choosePointAlongTraj (G4CascadParticle &cparticle)
 
G4InuclElementaryParticle generateQuasiDeuteron (G4int type1, G4int type2, G4int zone) const
 
void generateInteractionPartners (G4CascadParticle &cparticle)
 
void fillBindingEnergies ()
 
void fillZoneRadii (G4double nuclearRadius)
 
G4double fillZoneVolumes (G4double nuclearRadius)
 
void fillPotentials (G4int type, G4double tot_vol)
 
G4double zoneIntegralWoodsSaxon (G4double ur1, G4double ur2, G4double nuclearRadius) const
 
G4double zoneIntegralGaussian (G4double ur1, G4double ur2, G4double nuclearRadius) const
 
G4double getRatio (G4int ip) const
 
G4double getCurrentDensity (G4int ip, G4int izone) const
 
G4double inverseMeanFreePath (const G4CascadParticle &cparticle, const G4InuclElementaryParticle &target, G4int zone=-1)
 
G4double generateInteractionLength (const G4CascadParticle &cparticle, G4double path, G4double invmfp) const
 

Static Protected Member Functions

static G4bool sortPartners (const partner &p1, const partner &p2)
 

Protected Attributes

std::vector< partnerthePartners
 

Private Types

enum  PotentialType { WoodsSaxon =0, Gaussian =1 }
 

Private Attributes

G4int verboseLevel
 
G4LorentzConvertor dummy_convertor
 
G4CollisionOutput EPCoutput
 
std::vector
< G4InuclElementaryParticle
qdeutrons
 
std::vector< G4doubleacsecs
 
std::vector< G4ThreeVectorcoordinates
 
std::vector< G4LorentzVectormomentums
 
std::vector
< G4InuclElementaryParticle
raw_particles
 
std::vector< G4ThreeVectorcollisionPts
 
G4double ur [7]
 
G4double v [6]
 
G4double v1 [6]
 
std::vector< G4doublerod
 
std::vector< G4doublepf
 
std::vector< G4doublevz
 
std::vector< std::vector
< G4double > > 
nucleon_densities
 
std::vector< std::vector
< G4double > > 
zone_potentials
 
std::vector< std::vector
< G4double > > 
fermi_momenta
 
std::vector< G4doublezone_radii
 
std::vector< G4doublezone_volumes
 
std::vector< G4doublebinding_energies
 
G4double nuclei_radius
 
G4double nuclei_volume
 
G4int number_of_zones
 
G4int A
 
G4int Z
 
G4InuclNucleitheNucleus
 
G4int neutronNumber
 
G4int protonNumber
 
G4int neutronNumberCurrent
 
G4int protonNumberCurrent
 
G4int current_nucl1
 
G4int current_nucl2
 
G4CascadeInterpolator< 30 > gammaQDinterp
 
const G4double crossSectionUnits
 
const G4double radiusUnits
 
const G4double skinDepth
 
const G4double radiusScale
 
const G4double radiusScale2
 
const G4double radiusForSmall
 
const G4double radScaleAlpha
 
const G4double fermiMomentum
 
const G4double R_nucleon
 
const G4double gammaQDscale
 
const G4InuclElementaryParticle neutronEP
 
const G4InuclElementaryParticle protonEP
 

Static Private Attributes

static const G4double small = 1.0e-9
 
static const G4double large = 1000.
 
static const G4double piTimes4thirds = pi*4./3.
 
static const G4double alfa3 [3] = { 0.7, 0.3, 0.01 }
 
static const G4double alfa6 [6] = { 0.9, 0.6, 0.4, 0.2, 0.1, 0.05 }
 
static const G4double pion_vp = 0.007
 
static const G4double pion_vp_small = 0.007
 
static const G4double kaon_vp = 0.015
 
static const G4double hyperon_vp = 0.030
 

Detailed Description

Definition at line 93 of file G4NucleiModel.hh.

Member Typedef Documentation

typedef std::pair<std::vector<G4CascadParticle>, std::vector<G4InuclElementaryParticle> > G4NucleiModel::modelLists

Definition at line 163 of file G4NucleiModel.hh.

Definition at line 205 of file G4NucleiModel.hh.

Member Enumeration Documentation

Enumerator
WoodsSaxon 
Gaussian 

Definition at line 297 of file G4NucleiModel.hh.

Constructor & Destructor Documentation

G4NucleiModel::G4NucleiModel ( )

Definition at line 227 of file G4NucleiModel.cc.

G4NucleiModel::G4NucleiModel ( G4int  a,
G4int  z 
)

Definition at line 244 of file G4NucleiModel.cc.

References generateModel().

+ Here is the call graph for this function:

G4NucleiModel::G4NucleiModel ( G4InuclNuclei nuclei)
explicit

Definition at line 263 of file G4NucleiModel.cc.

References generateModel().

+ Here is the call graph for this function:

G4NucleiModel::~G4NucleiModel ( )
virtual

Definition at line 282 of file G4NucleiModel.cc.

References theNucleus.

Member Function Documentation

G4double G4NucleiModel::absorptionCrossSection ( G4double  e,
G4int  type 
) const

Definition at line 1885 of file G4NucleiModel.cc.

References crossSectionUnits, G4cerr, G4cout, G4endl, gammaQDinterp, gammaQDscale, G4CascadeInterpolator< NBINS >::interpolate(), G4InuclParticleNames::muonMinus, photon, G4InuclParticleNames::pionMinus, G4InuclParticleNames::pionPlus, G4InuclParticleNames::pionZero, useQuasiDeuteron(), and verboseLevel.

Referenced by inverseMeanFreePath().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4NucleiModel::boundaryTransition ( G4CascadParticle cparticle)
protected

Definition at line 1107 of file G4NucleiModel.cc.

References G4cerr, G4cout, G4endl, G4CascadParticle::getCurrentZone(), G4CascadParticle::getMomentum(), G4CascadParticle::getParticle(), G4CascadParticle::getPosition(), getPotential(), G4CascadParticle::incrementReflectionCounter(), G4CascadParticle::movingInsideNuclei(), pos, G4CascadParticle::resetReflection(), G4InuclElementaryParticle::type(), G4CascadParticle::updateParticleMomentum(), G4CascadParticle::updateZone(), and verboseLevel.

Referenced by generateParticleFate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4NucleiModel::choosePointAlongTraj ( G4CascadParticle cparticle)
protected

Definition at line 1175 of file G4NucleiModel.cc.

References deg, G4cout, G4endl, G4Exp(), G4UniformRand, G4CascadParticle::getCurrentZone(), G4CascadParticle::getMomentum(), G4CascadParticle::getPosition(), getZone(), inverseMeanFreePath(), iz, neutronEP, number_of_zones, pi, pos, protonEP, small, G4CascadParticle::updatePosition(), G4CascadParticle::updateZone(), verboseLevel, and zone_radii.

Referenced by initializeCascad().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4NucleiModel::empty ( ) const
inline

Definition at line 152 of file G4NucleiModel.hh.

References neutronNumberCurrent, and protonNumberCurrent.

Referenced by G4IntraNucleiCascader::generateCascade().

+ Here is the caller graph for this function:

void G4NucleiModel::fillBindingEnergies ( )
protected

Definition at line 382 of file G4NucleiModel.cc.

References A, binding_energies, G4InuclSpecialFunctions::bindingEnergy(), G4cout, G4endl, GeV, verboseLevel, and Z.

Referenced by generateModel().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4NucleiModel::fillPotentials ( G4int  type,
G4double  tot_vol 
)
protected

Definition at line 471 of file G4NucleiModel.cc.

References binding_energies, fermi_momenta, fermiMomentum, G4InuclSpecialFunctions::G4cbrt(), G4cout, G4endl, G4InuclElementaryParticle::getParticleMass(), neutron, neutronNumber, nucleon_densities, number_of_zones, pf, piTimes4thirds, G4InuclParticleNames::proton, protonNumber, rod, v, v1, verboseLevel, vz, and zone_potentials.

Referenced by generateModel().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4NucleiModel::fillZoneRadii ( G4double  nuclearRadius)
protected

Definition at line 396 of file G4NucleiModel.cc.

References A, alfa3, alfa6, G4cout, G4endl, G4Exp(), G4Log(), number_of_zones, skinDepth, ur, verboseLevel, and zone_radii.

Referenced by generateModel().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4NucleiModel::fillZoneVolumes ( G4double  nuclearRadius)
protected

Definition at line 436 of file G4NucleiModel.cc.

References A, G4cout, G4endl, Gaussian, number_of_zones, piTimes4thirds, ur, v, v1, verboseLevel, WoodsSaxon, zone_radii, zone_volumes, zoneIntegralGaussian(), and zoneIntegralWoodsSaxon().

Referenced by generateModel().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4NucleiModel::forceFirst ( const G4CascadParticle cparticle) const

Definition at line 1301 of file G4NucleiModel.cc.

References G4CascadParticle::getParticle(), G4InuclElementaryParticle::isMuon(), G4InuclElementaryParticle::isPhoton(), and isProjectile().

Referenced by generateInteractionLength(), and initializeCascad().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4NucleiModel::generateInteractionLength ( const G4CascadParticle cparticle,
G4double  path,
G4double  invmfp 
) const
protected

Definition at line 1853 of file G4NucleiModel.cc.

References forceFirst(), G4cout, G4endl, G4Exp(), G4Log(), G4InuclSpecialFunctions::inuclRndm(), large, small, verboseLevel, and G4CascadParticle::young().

Referenced by generateInteractionPartners().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4NucleiModel::generateInteractionPartners ( G4CascadParticle cparticle)
protected
void G4NucleiModel::generateModel ( G4InuclNuclei nuclei)

Definition at line 303 of file G4NucleiModel.cc.

References G4InuclNuclei::getA(), and G4InuclNuclei::getZ().

Referenced by G4NucleiModel(), and G4IntraNucleiCascader::initialize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4InuclElementaryParticle G4NucleiModel::generateNucleon ( G4int  type,
G4int  zone 
) const

Definition at line 649 of file G4NucleiModel.cc.

References G4cout, G4endl, generateNucleonMomentum(), and verboseLevel.

Referenced by generateInteractionPartners().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4LorentzVector G4NucleiModel::generateNucleonMomentum ( G4int  type,
G4int  zone 
) const

Definition at line 640 of file G4NucleiModel.cc.

References G4InuclSpecialFunctions::G4cbrt(), G4InuclSpecialFunctions::generateWithRandomAngles(), getFermiMomentum(), G4InuclElementaryParticle::getParticleMass(), and G4InuclSpecialFunctions::inuclRndm().

Referenced by generateNucleon(), and generateQuasiDeuteron().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4NucleiModel::generateParticleFate ( G4CascadParticle cparticle,
G4ElementaryParticleCollider theEPCollider,
std::vector< G4CascadParticle > &  cascade 
)
G4InuclElementaryParticle G4NucleiModel::generateQuasiDeuteron ( G4int  type1,
G4int  type2,
G4int  zone 
) const
protected

Definition at line 660 of file G4NucleiModel.cc.

References G4cout, G4endl, generateNucleonMomentum(), G4InuclParticleNames::neu, G4InuclParticleNames::pro, and verboseLevel.

Referenced by generateInteractionPartners().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4NucleiModel::getCurrentDensity ( G4int  ip,
G4int  izone 
) const
protected

Definition at line 1360 of file G4NucleiModel.cc.

References G4InuclParticleNames::dineutron, G4InuclParticleNames::diproton, getDensity(), getRatio(), getVolume(), neutron, G4InuclParticleNames::proton, and G4InuclParticleNames::unboundPN.

Referenced by inverseMeanFreePath().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4NucleiModel::getDensity ( G4int  ip,
G4int  izone 
) const
inline

Definition at line 112 of file G4NucleiModel.hh.

References nucleon_densities.

Referenced by getCurrentDensity(), and printModel().

+ Here is the caller graph for this function:

G4double G4NucleiModel::getFermiKinetic ( G4int  ip,
G4int  izone 
) const

Definition at line 626 of file G4NucleiModel.cc.

References fermi_momenta, G4InuclElementaryParticle::getParticleMass(), and number_of_zones.

Referenced by worthToPropagate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4NucleiModel::getFermiMomentum ( G4int  ip,
G4int  izone 
) const
inline

Definition at line 116 of file G4NucleiModel.hh.

References fermi_momenta.

Referenced by generateNucleonMomentum(), and printModel().

+ Here is the caller graph for this function:

G4int G4NucleiModel::getNumberOfNeutrons ( ) const
inline

Definition at line 149 of file G4NucleiModel.hh.

References neutronNumberCurrent.

Referenced by G4IntraNucleiCascader::generateCascade().

+ Here is the caller graph for this function:

G4int G4NucleiModel::getNumberOfProtons ( ) const
inline

Definition at line 150 of file G4NucleiModel.hh.

References protonNumberCurrent.

Referenced by G4IntraNucleiCascader::generateCascade().

+ Here is the caller graph for this function:

G4int G4NucleiModel::getNumberOfZones ( ) const
inline

Definition at line 143 of file G4NucleiModel.hh.

References number_of_zones.

G4double G4NucleiModel::getPotential ( G4int  ip,
G4int  izone 
) const
inline

Definition at line 122 of file G4NucleiModel.hh.

References number_of_zones, and zone_potentials.

Referenced by boundaryTransition(), and printModel().

+ Here is the caller graph for this function:

G4double G4NucleiModel::getRadius ( ) const
inline

Definition at line 133 of file G4NucleiModel.hh.

References nuclei_radius.

G4double G4NucleiModel::getRadius ( G4int  izone) const
inline

Definition at line 134 of file G4NucleiModel.hh.

References nuclei_radius, number_of_zones, and zone_radii.

G4double G4NucleiModel::getRadiusUnits ( ) const
inline

Definition at line 131 of file G4NucleiModel.hh.

References fermi, and radiusUnits.

Referenced by G4IntraNucleiCascader::processSecondary().

+ Here is the caller graph for this function:

G4double G4NucleiModel::getRatio ( G4int  ip) const
protected

Definition at line 1343 of file G4NucleiModel.cc.

References G4InuclParticleNames::dineutron, G4InuclParticleNames::diproton, G4cout, G4endl, neutron, neutronNumber, neutronNumberCurrent, G4InuclParticleNames::proton, protonNumber, protonNumberCurrent, G4InuclParticleNames::unboundPN, and verboseLevel.

Referenced by getCurrentDensity().

+ Here is the caller graph for this function:

std::pair<G4int, G4int> G4NucleiModel::getTypesOfNucleonsInvolved ( ) const
inline

Definition at line 169 of file G4NucleiModel.hh.

References current_nucl1, and current_nucl2.

Referenced by G4IntraNucleiCascader::generateCascade().

+ Here is the caller graph for this function:

G4double G4NucleiModel::getVolume ( G4int  izone) const
inline

Definition at line 138 of file G4NucleiModel.hh.

References nuclei_volume, number_of_zones, and zone_volumes.

Referenced by getCurrentDensity().

+ Here is the caller graph for this function:

G4int G4NucleiModel::getZone ( G4double  r) const
inline

Definition at line 144 of file G4NucleiModel.hh.

References iz, number_of_zones, and zone_radii.

Referenced by choosePointAlongTraj(), and G4IntraNucleiCascader::processSecondary().

+ Here is the caller graph for this function:

G4CascadParticle G4NucleiModel::initializeCascad ( G4InuclElementaryParticle particle)

Definition at line 1388 of file G4NucleiModel.cc.

References choosePointAlongTraj(), forceFirst(), G4cout, G4endl, G4InuclSpecialFunctions::generateWithFixedTheta(), G4InuclParticle::getKineticEnergy(), G4InuclSpecialFunctions::inuclRndm(), large, nuclei_radius, number_of_zones, pos, small, and verboseLevel.

Referenced by G4IntraNucleiCascader::setupCascade().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4NucleiModel::inverseMeanFreePath ( const G4CascadParticle cparticle,
const G4InuclElementaryParticle target,
G4int  zone = -1 
)
protected

Definition at line 1814 of file G4NucleiModel.cc.

References absorptionCrossSection(), dummy_convertor, G4cout, G4endl, getCurrentDensity(), G4CascadParticle::getCurrentZone(), G4LorentzConvertor::getKinEnergyInTheTRS(), G4CascadParticle::getParticle(), G4InuclElementaryParticle::isNeutrino(), G4InuclParticleNames::muonMinus, neutron, number_of_zones, G4LorentzConvertor::setBullet(), G4LorentzConvertor::setTarget(), totalCrossSection(), G4LorentzConvertor::toTheCenterOfMass(), G4InuclElementaryParticle::type(), and verboseLevel.

Referenced by choosePointAlongTraj(), and generateInteractionPartners().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4NucleiModel::isProjectile ( const G4CascadParticle cparticle) const

Definition at line 1308 of file G4NucleiModel.cc.

References G4CascadParticle::getGeneration().

Referenced by forceFirst(), and generateInteractionPartners().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4NucleiModel::passFermi ( const std::vector< G4InuclElementaryParticle > &  particles,
G4int  zone 
)
protected

Definition at line 1061 of file G4NucleiModel.cc.

References fermi_momenta, G4cout, G4endl, G4InuclParticleNames::nucleon(), and verboseLevel.

Referenced by generateParticleFate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4NucleiModel::passTrailing ( const G4ThreeVector hit_position)
protected

Definition at line 1090 of file G4NucleiModel.cc.

References collisionPts, G4cout, G4endl, R_nucleon, and verboseLevel.

Referenced by generateParticleFate().

+ Here is the caller graph for this function:

void G4NucleiModel::printModel ( ) const

Definition at line 604 of file G4NucleiModel.cc.

References A, binding_energies, G4cout, G4endl, getDensity(), getFermiMomentum(), getPotential(), nuclei_radius, nuclei_volume, number_of_zones, verboseLevel, Z, zone_radii, and zone_volumes.

Referenced by generateModel().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4NucleiModel::reset ( G4int  nHitNeutrons = 0,
G4int  nHitProtons = 0,
const std::vector< G4ThreeVector > *  hitPoints = 0 
)

Definition at line 290 of file G4NucleiModel.cc.

References collisionPts, neutronNumber, neutronNumberCurrent, protonNumber, and protonNumberCurrent.

Referenced by G4IntraNucleiCascader::copyWoundedNucleus(), generateModel(), and G4IntraNucleiCascader::newCascade().

+ Here is the caller graph for this function:

void G4NucleiModel::setVerboseLevel ( G4int  verbose)
inline

Definition at line 101 of file G4NucleiModel.hh.

References verboseLevel.

Referenced by G4IntraNucleiCascader::setVerboseLevel().

+ Here is the caller graph for this function:

static G4bool G4NucleiModel::sortPartners ( const partner p1,
const partner p2 
)
inlinestaticprotected

Definition at line 211 of file G4NucleiModel.hh.

Referenced by generateInteractionPartners().

+ Here is the caller graph for this function:

G4bool G4NucleiModel::stillInside ( const G4CascadParticle cparticle)
inline

Definition at line 156 of file G4NucleiModel.hh.

References G4CascadParticle::getCurrentZone(), and number_of_zones.

Referenced by G4IntraNucleiCascader::generateCascade().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4NucleiModel::totalCrossSection ( G4double  ke,
G4int  rtype 
) const

Definition at line 1918 of file G4NucleiModel.cc.

References crossSectionUnits, G4cerr, G4endl, G4CascadeChannel::getCrossSection(), and G4CascadeChannelTables::GetTable().

Referenced by inverseMeanFreePath().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4NucleiModel::useQuasiDeuteron ( G4int  ptype,
G4int  qdtype = 0 
)
static
G4bool G4NucleiModel::worthToPropagate ( const G4CascadParticle cparticle) const

Definition at line 1312 of file G4NucleiModel.cc.

References G4cout, G4endl, G4CascadParticle::getCurrentZone(), getFermiKinetic(), G4InuclParticle::getKineticEnergy(), G4CascadParticle::getParticle(), G4InuclElementaryParticle::nucleon(), G4CascadParticle::reflectedNow(), G4InuclElementaryParticle::type(), and verboseLevel.

Referenced by G4IntraNucleiCascader::generateCascade().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4NucleiModel::zoneIntegralGaussian ( G4double  ur1,
G4double  ur2,
G4double  nuclearRadius 
) const
protected

Definition at line 556 of file G4NucleiModel.cc.

References A, epsilon(), G4cerr, G4cout, G4endl, G4Exp(), and verboseLevel.

Referenced by fillZoneVolumes().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4NucleiModel::zoneIntegralWoodsSaxon ( G4double  ur1,
G4double  ur2,
G4double  nuclearRadius 
) const
protected

Definition at line 503 of file G4NucleiModel.cc.

References d2, epsilon(), G4cout, G4endl, G4Exp(), G4Log(), skinDepth, and verboseLevel.

Referenced by fillZoneVolumes().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4int G4NucleiModel::A
private
std::vector<G4double> G4NucleiModel::acsecs
private

Definition at line 254 of file G4NucleiModel.hh.

Referenced by generateInteractionPartners().

const G4double G4NucleiModel::alfa3 = { 0.7, 0.3, 0.01 }
staticprivate

Definition at line 316 of file G4NucleiModel.hh.

Referenced by fillZoneRadii().

const G4double G4NucleiModel::alfa6 = { 0.9, 0.6, 0.4, 0.2, 0.1, 0.05 }
staticprivate

Definition at line 316 of file G4NucleiModel.hh.

Referenced by fillZoneRadii().

std::vector<G4double> G4NucleiModel::binding_energies
private

Definition at line 276 of file G4NucleiModel.hh.

Referenced by fillBindingEnergies(), fillPotentials(), generateModel(), and printModel().

std::vector<G4ThreeVector> G4NucleiModel::collisionPts
private

Definition at line 260 of file G4NucleiModel.hh.

Referenced by generateParticleFate(), passTrailing(), and reset().

std::vector<G4ThreeVector> G4NucleiModel::coordinates
private

Definition at line 256 of file G4NucleiModel.hh.

Referenced by initializeCascad().

const G4double G4NucleiModel::crossSectionUnits
private

Definition at line 300 of file G4NucleiModel.hh.

Referenced by absorptionCrossSection(), generateModel(), and totalCrossSection().

G4int G4NucleiModel::current_nucl1
private

Definition at line 291 of file G4NucleiModel.hh.

Referenced by generateParticleFate(), and getTypesOfNucleonsInvolved().

G4int G4NucleiModel::current_nucl2
private

Definition at line 292 of file G4NucleiModel.hh.

Referenced by generateParticleFate(), and getTypesOfNucleonsInvolved().

G4LorentzConvertor G4NucleiModel::dummy_convertor
private

Definition at line 250 of file G4NucleiModel.hh.

Referenced by inverseMeanFreePath().

G4CollisionOutput G4NucleiModel::EPCoutput
private

Definition at line 251 of file G4NucleiModel.hh.

Referenced by generateParticleFate().

std::vector<std::vector<G4double> > G4NucleiModel::fermi_momenta
private
const G4double G4NucleiModel::fermiMomentum
private

Definition at line 307 of file G4NucleiModel.hh.

Referenced by fillPotentials(), and generateModel().

G4CascadeInterpolator<30> G4NucleiModel::gammaQDinterp
private

Definition at line 294 of file G4NucleiModel.hh.

Referenced by absorptionCrossSection().

const G4double G4NucleiModel::gammaQDscale
private

Definition at line 309 of file G4NucleiModel.hh.

Referenced by absorptionCrossSection().

const G4double G4NucleiModel::hyperon_vp = 0.030
staticprivate

Definition at line 320 of file G4NucleiModel.hh.

Referenced by generateModel().

const G4double G4NucleiModel::kaon_vp = 0.015
staticprivate

Definition at line 319 of file G4NucleiModel.hh.

Referenced by generateModel().

const G4double G4NucleiModel::large = 1000.
staticprivate

Definition at line 313 of file G4NucleiModel.hh.

Referenced by generateInteractionLength(), and initializeCascad().

std::vector<G4LorentzVector> G4NucleiModel::momentums
private

Definition at line 257 of file G4NucleiModel.hh.

Referenced by initializeCascad().

const G4InuclElementaryParticle G4NucleiModel::neutronEP
private

Definition at line 323 of file G4NucleiModel.hh.

Referenced by choosePointAlongTraj().

G4int G4NucleiModel::neutronNumber
private

Definition at line 285 of file G4NucleiModel.hh.

Referenced by fillPotentials(), generateModel(), getRatio(), and reset().

G4int G4NucleiModel::neutronNumberCurrent
private
G4double G4NucleiModel::nuclei_radius
private
G4double G4NucleiModel::nuclei_volume
private

Definition at line 278 of file G4NucleiModel.hh.

Referenced by generateModel(), getVolume(), and printModel().

std::vector<std::vector<G4double> > G4NucleiModel::nucleon_densities
private

Definition at line 271 of file G4NucleiModel.hh.

Referenced by fillPotentials(), generateModel(), and getDensity().

std::vector<G4double> G4NucleiModel::pf
private

Definition at line 267 of file G4NucleiModel.hh.

Referenced by fillPotentials().

const G4double G4NucleiModel::pion_vp = 0.007
staticprivate

Definition at line 317 of file G4NucleiModel.hh.

Referenced by generateModel().

const G4double G4NucleiModel::pion_vp_small = 0.007
staticprivate

Definition at line 318 of file G4NucleiModel.hh.

Referenced by generateModel().

const G4double G4NucleiModel::piTimes4thirds = pi*4./3.
staticprivate

Definition at line 314 of file G4NucleiModel.hh.

Referenced by fillPotentials(), fillZoneVolumes(), and generateModel().

const G4InuclElementaryParticle G4NucleiModel::protonEP
private

Definition at line 324 of file G4NucleiModel.hh.

Referenced by choosePointAlongTraj().

G4int G4NucleiModel::protonNumber
private

Definition at line 286 of file G4NucleiModel.hh.

Referenced by fillPotentials(), generateModel(), getRatio(), and reset().

G4int G4NucleiModel::protonNumberCurrent
private
std::vector<G4InuclElementaryParticle> G4NucleiModel::qdeutrons
private

Definition at line 253 of file G4NucleiModel.hh.

Referenced by generateInteractionPartners().

const G4double G4NucleiModel::R_nucleon
private

Definition at line 308 of file G4NucleiModel.hh.

Referenced by passTrailing().

const G4double G4NucleiModel::radiusForSmall
private

Definition at line 305 of file G4NucleiModel.hh.

Referenced by generateModel().

const G4double G4NucleiModel::radiusScale
private

Definition at line 303 of file G4NucleiModel.hh.

Referenced by generateModel().

const G4double G4NucleiModel::radiusScale2
private

Definition at line 304 of file G4NucleiModel.hh.

Referenced by generateModel().

const G4double G4NucleiModel::radiusUnits
private

Definition at line 301 of file G4NucleiModel.hh.

Referenced by generateModel(), and getRadiusUnits().

const G4double G4NucleiModel::radScaleAlpha
private

Definition at line 306 of file G4NucleiModel.hh.

Referenced by generateModel().

std::vector<G4InuclElementaryParticle> G4NucleiModel::raw_particles
private

Definition at line 258 of file G4NucleiModel.hh.

Referenced by initializeCascad().

std::vector<G4double> G4NucleiModel::rod
private

Definition at line 266 of file G4NucleiModel.hh.

Referenced by fillPotentials().

const G4double G4NucleiModel::skinDepth
private

Definition at line 302 of file G4NucleiModel.hh.

Referenced by fillZoneRadii(), generateModel(), and zoneIntegralWoodsSaxon().

const G4double G4NucleiModel::small = 1.0e-9
staticprivate
G4InuclNuclei* G4NucleiModel::theNucleus
private

Definition at line 283 of file G4NucleiModel.hh.

Referenced by generateModel(), and ~G4NucleiModel().

std::vector<partner> G4NucleiModel::thePartners
protected

Definition at line 207 of file G4NucleiModel.hh.

Referenced by generateInteractionPartners(), and generateParticleFate().

G4double G4NucleiModel::ur[7]
private

Definition at line 263 of file G4NucleiModel.hh.

Referenced by fillZoneRadii(), and fillZoneVolumes().

G4double G4NucleiModel::v[6]
private

Definition at line 264 of file G4NucleiModel.hh.

Referenced by fillPotentials(), and fillZoneVolumes().

G4double G4NucleiModel::v1[6]
private

Definition at line 265 of file G4NucleiModel.hh.

Referenced by fillPotentials(), and fillZoneVolumes().

std::vector<G4double> G4NucleiModel::vz
private

Definition at line 268 of file G4NucleiModel.hh.

Referenced by fillPotentials().

G4int G4NucleiModel::Z
private

Definition at line 282 of file G4NucleiModel.hh.

Referenced by fillBindingEnergies(), generateModel(), and printModel().

std::vector<std::vector<G4double> > G4NucleiModel::zone_potentials
private

Definition at line 272 of file G4NucleiModel.hh.

Referenced by fillPotentials(), generateModel(), and getPotential().

std::vector<G4double> G4NucleiModel::zone_radii
private
std::vector<G4double> G4NucleiModel::zone_volumes
private

Definition at line 275 of file G4NucleiModel.hh.

Referenced by fillZoneVolumes(), generateModel(), getVolume(), and printModel().


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