Geant4  10.00.p02
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 G4InuclElementaryParticle neutronEP
 
const G4InuclElementaryParticle protonEP
 

Static Private Attributes

static const G4double small = 1.0e-9
 
static const G4double large = 1000.
 
static const G4double skinDepth = 0.611207*radiusUnits
 
static const G4double radiusScale
 
static const G4double radiusScale2
 
static const G4double radiusForSmall = G4CascadeParameters::radiusSmall()
 
static const G4double radScaleAlpha = G4CascadeParameters::radiusAlpha()
 
static const G4double fermiMomentum = G4CascadeParameters::fermiScale()
 
static const G4double R_nucleon = G4CascadeParameters::radiusTrailing()
 
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
 
static const G4double gammaQDscale = G4CascadeParameters::gammaQDScale()
 
static const G4double piTimes4thirds = pi*4./3.
 
static const G4double crossSectionUnits = G4CascadeParameters::xsecScale()
 
static const G4double radiusUnits = G4CascadeParameters::radiusScale()
 

Detailed Description

Definition at line 91 of file G4NucleiModel.hh.

Member Typedef Documentation

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

Definition at line 161 of file G4NucleiModel.hh.

Definition at line 203 of file G4NucleiModel.hh.

Member Enumeration Documentation

Enumerator
WoodsSaxon 
Gaussian 

Definition at line 295 of file G4NucleiModel.hh.

Constructor & Destructor Documentation

G4NucleiModel::G4NucleiModel ( )

Definition at line 252 of file G4NucleiModel.cc.

G4NucleiModel::G4NucleiModel ( G4int  a,
G4int  z 
)

Definition at line 259 of file G4NucleiModel.cc.

References generateModel().

+ Here is the call graph for this function:

G4NucleiModel::G4NucleiModel ( G4InuclNuclei nuclei)
explicit

Definition at line 268 of file G4NucleiModel.cc.

References generateModel().

+ Here is the call graph for this function:

G4NucleiModel::~G4NucleiModel ( )
virtual

Definition at line 277 of file G4NucleiModel.cc.

References theNucleus.

Member Function Documentation

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

Definition at line 1872 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 1097 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 1163 of file G4NucleiModel.cc.

References deg, G4cout, G4endl, G4Exp(), G4UniformRand, G4CascadParticle::getCurrentZone(), G4CascadParticle::getMomentum(), G4CascadParticle::getPosition(), getZone(), inverseMeanFreePath(), iz, neutronEP, number_of_zones, G4INCL::Math::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 150 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 377 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 466 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 391 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 431 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 1289 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 1840 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 298 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 644 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 635 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 655 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 1348 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 110 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 621 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 114 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 147 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 148 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 141 of file G4NucleiModel.hh.

References number_of_zones.

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

Definition at line 120 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 131 of file G4NucleiModel.hh.

References nuclei_radius.

G4double G4NucleiModel::getRadius ( G4int  izone) const
inline

Definition at line 132 of file G4NucleiModel.hh.

References nuclei_radius, number_of_zones, and zone_radii.

G4double G4NucleiModel::getRadiusUnits ( ) const
inline

Definition at line 129 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 1331 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 167 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 136 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 142 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 1376 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 1801 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 1296 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 1051 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 1080 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 599 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 285 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 99 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 209 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 154 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 1905 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 1300 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 551 of file G4NucleiModel.cc.

References A, 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 498 of file G4NucleiModel.cc.

References d2, 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 252 of file G4NucleiModel.hh.

Referenced by generateInteractionPartners().

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

Definition at line 309 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 309 of file G4NucleiModel.hh.

Referenced by fillZoneRadii().

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

Definition at line 274 of file G4NucleiModel.hh.

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

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

Definition at line 258 of file G4NucleiModel.hh.

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

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

Definition at line 254 of file G4NucleiModel.hh.

Referenced by initializeCascad().

const G4double G4NucleiModel::crossSectionUnits = G4CascadeParameters::xsecScale()
staticprivate

Definition at line 320 of file G4NucleiModel.hh.

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

G4int G4NucleiModel::current_nucl1
private

Definition at line 289 of file G4NucleiModel.hh.

Referenced by generateParticleFate(), and getTypesOfNucleonsInvolved().

G4int G4NucleiModel::current_nucl2
private

Definition at line 290 of file G4NucleiModel.hh.

Referenced by generateParticleFate(), and getTypesOfNucleonsInvolved().

G4LorentzConvertor G4NucleiModel::dummy_convertor
private

Definition at line 248 of file G4NucleiModel.hh.

Referenced by inverseMeanFreePath().

G4CollisionOutput G4NucleiModel::EPCoutput
private

Definition at line 249 of file G4NucleiModel.hh.

Referenced by generateParticleFate().

std::vector<std::vector<G4double> > G4NucleiModel::fermi_momenta
private
const G4double G4NucleiModel::fermiMomentum = G4CascadeParameters::fermiScale()
staticprivate

Definition at line 307 of file G4NucleiModel.hh.

Referenced by fillPotentials(), and generateModel().

G4CascadeInterpolator<30> G4NucleiModel::gammaQDinterp
private

Definition at line 292 of file G4NucleiModel.hh.

Referenced by absorptionCrossSection().

const G4double G4NucleiModel::gammaQDscale = G4CascadeParameters::gammaQDScale()
staticprivate

Definition at line 316 of file G4NucleiModel.hh.

Referenced by absorptionCrossSection().

const G4double G4NucleiModel::hyperon_vp = 0.030
staticprivate

Definition at line 313 of file G4NucleiModel.hh.

Referenced by generateModel().

const G4double G4NucleiModel::kaon_vp = 0.015
staticprivate

Definition at line 312 of file G4NucleiModel.hh.

Referenced by generateModel().

const G4double G4NucleiModel::large = 1000.
staticprivate

Definition at line 299 of file G4NucleiModel.hh.

Referenced by generateInteractionLength(), and initializeCascad().

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

Definition at line 255 of file G4NucleiModel.hh.

Referenced by initializeCascad().

const G4InuclElementaryParticle G4NucleiModel::neutronEP
private

Definition at line 324 of file G4NucleiModel.hh.

Referenced by choosePointAlongTraj().

G4int G4NucleiModel::neutronNumber
private

Definition at line 283 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 276 of file G4NucleiModel.hh.

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

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

Definition at line 269 of file G4NucleiModel.hh.

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

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

Definition at line 265 of file G4NucleiModel.hh.

Referenced by fillPotentials().

const G4double G4NucleiModel::pion_vp = 0.007
staticprivate

Definition at line 310 of file G4NucleiModel.hh.

Referenced by generateModel().

const G4double G4NucleiModel::pion_vp_small = 0.007
staticprivate

Definition at line 311 of file G4NucleiModel.hh.

Referenced by generateModel().

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

Definition at line 319 of file G4NucleiModel.hh.

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

const G4InuclElementaryParticle G4NucleiModel::protonEP
private

Definition at line 325 of file G4NucleiModel.hh.

Referenced by choosePointAlongTraj().

G4int G4NucleiModel::protonNumber
private

Definition at line 284 of file G4NucleiModel.hh.

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

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

Definition at line 251 of file G4NucleiModel.hh.

Referenced by generateInteractionPartners().

const G4double G4NucleiModel::R_nucleon = G4CascadeParameters::radiusTrailing()
staticprivate

Definition at line 308 of file G4NucleiModel.hh.

Referenced by passTrailing().

const G4double G4NucleiModel::radiusForSmall = G4CascadeParameters::radiusSmall()
staticprivate

Definition at line 305 of file G4NucleiModel.hh.

Referenced by generateModel().

const G4double G4NucleiModel::radiusScale
staticprivate
Initial value:

Definition at line 303 of file G4NucleiModel.hh.

Referenced by generateModel().

const G4double G4NucleiModel::radiusScale2
staticprivate
Initial value:

Definition at line 304 of file G4NucleiModel.hh.

Referenced by generateModel().

const G4double G4NucleiModel::radiusUnits = G4CascadeParameters::radiusScale()
staticprivate

Definition at line 321 of file G4NucleiModel.hh.

Referenced by generateModel(), and getRadiusUnits().

const G4double G4NucleiModel::radScaleAlpha = G4CascadeParameters::radiusAlpha()
staticprivate

Definition at line 306 of file G4NucleiModel.hh.

Referenced by generateModel().

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

Definition at line 256 of file G4NucleiModel.hh.

Referenced by initializeCascad().

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

Definition at line 264 of file G4NucleiModel.hh.

Referenced by fillPotentials().

const G4double G4NucleiModel::skinDepth = 0.611207*radiusUnits
staticprivate

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 281 of file G4NucleiModel.hh.

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

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

Definition at line 205 of file G4NucleiModel.hh.

Referenced by generateInteractionPartners(), and generateParticleFate().

G4double G4NucleiModel::ur[7]
private

Definition at line 261 of file G4NucleiModel.hh.

Referenced by fillZoneRadii(), and fillZoneVolumes().

G4double G4NucleiModel::v[6]
private

Definition at line 262 of file G4NucleiModel.hh.

Referenced by fillPotentials(), and fillZoneVolumes().

G4double G4NucleiModel::v1[6]
private

Definition at line 263 of file G4NucleiModel.hh.

Referenced by fillPotentials(), and fillZoneVolumes().

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

Definition at line 266 of file G4NucleiModel.hh.

Referenced by fillPotentials().

G4int G4NucleiModel::Z
private

Definition at line 280 of file G4NucleiModel.hh.

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

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

Definition at line 270 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 273 of file G4NucleiModel.hh.

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


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