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

#include <geant4/tree/geant4-10.6-release/source/processes/hadronic/models/cascade/cascade/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 G4double potentialThickness
 
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 91 of file G4NucleiModel.hh.

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

View newest version in sPHENIX GitHub at line 161 of file G4NucleiModel.hh

Definition at line 203 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 203 of file G4NucleiModel.hh

Member Enumeration Documentation

Enumerator:
WoodsSaxon 
Gaussian 

Definition at line 295 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 295 of file G4NucleiModel.hh

Constructor & Destructor Documentation

G4NucleiModel::G4NucleiModel ( )

Definition at line 232 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 232 of file G4NucleiModel.cc

G4NucleiModel::G4NucleiModel ( G4int  a,
G4int  z 
)

Definition at line 250 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 250 of file G4NucleiModel.cc

References generateModel().

+ Here is the call graph for this function:

G4NucleiModel::G4NucleiModel ( G4InuclNuclei nuclei)
explicit

Definition at line 270 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 270 of file G4NucleiModel.cc

References generateModel().

+ Here is the call graph for this function:

G4NucleiModel::~G4NucleiModel ( )
virtual

Definition at line 290 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 290 of file G4NucleiModel.cc

References theNucleus.

Member Function Documentation

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

Definition at line 1922 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 1922 of file G4NucleiModel.cc

References crossSectionUnits, G4cerr, G4cout, G4endl, gammaQDinterp, gammaQDscale, G4CascadeInterpolator< NBINS >::interpolate(), G4InuclParticleNames::muonMinus, G4InuclParticleNames::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
void G4NucleiModel::choosePointAlongTraj ( G4CascadParticle cparticle)
protected

Definition at line 1212 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 1212 of file G4NucleiModel.cc

References CLHEP::Hep3Vector::angle(), CLHEP::Hep3Vector::cross(), deg, e, G4cout, G4endl, G4Exp(), G4UniformRand, G4CascadParticle::getCurrentZone(), G4CascadParticle::getMomentum(), G4CascadParticle::getPosition(), getZone(), inverseMeanFreePath(), CLHEP::Hep3Vector::mag(), CLHEP::Hep3Vector::mag2(), neutronEP, number_of_zones, pi, pos(), protonEP, CLHEP::Hep3Vector::rotate(), CLHEP::Hep3Vector::set(), small, Acts::Test::transform, CLHEP::Hep3Vector::unit(), G4CascadParticle::updatePosition(), G4CascadParticle::updateZone(), CLHEP::HepLorentzVector::vect(), 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.

View newest version in sPHENIX GitHub at line 150 of file G4NucleiModel.hh

References neutronNumberCurrent, and protonNumberCurrent.

void G4NucleiModel::fillBindingEnergies ( )
protected

Definition at line 390 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 390 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 479 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 479 of file G4NucleiModel.cc

References binding_energies, fermi_momenta, fermiMomentum, G4InuclSpecialFunctions::G4cbrt(), G4cout, G4endl, G4InuclElementaryParticle::getParticleMass(), mass, G4InuclParticleNames::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 404 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 404 of file G4NucleiModel.cc

References A, alfa3, alfa6, G4cout, G4endl, G4Exp(), G4Log(), number_of_zones, skinDepth, ur, verboseLevel, y, 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 444 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 444 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 1338 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 1338 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 1890 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 1890 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::generateModel ( G4InuclNuclei nuclei)

Definition at line 311 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 311 of file G4NucleiModel.cc

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

Referenced by G4NucleiModel().

+ 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 657 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 657 of file G4NucleiModel.cc

References G4cout, G4endl, generateNucleonMomentum(), mom, 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 648 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 648 of file G4NucleiModel.cc

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

Referenced by generateNucleon(), and generateQuasiDeuteron().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4InuclElementaryParticle G4NucleiModel::generateQuasiDeuteron ( G4int  type1,
G4int  type2,
G4int  zone 
) const
protected

Definition at line 668 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 668 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 1397 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 1397 of file G4NucleiModel.cc

References G4InuclParticleNames::dineutron, G4InuclParticleNames::diproton, getDensity(), getRatio(), getVolume(), G4InuclParticleNames::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.

View newest version in sPHENIX GitHub 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 634 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 634 of file G4NucleiModel.cc

References fermi_momenta, G4InuclElementaryParticle::getParticleMass(), mass, 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.

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

View newest version in sPHENIX GitHub at line 147 of file G4NucleiModel.hh

References neutronNumberCurrent.

G4int G4NucleiModel::getNumberOfProtons ( ) const
inline

Definition at line 148 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 148 of file G4NucleiModel.hh

References protonNumberCurrent.

G4int G4NucleiModel::getNumberOfZones ( ) const
inline

Definition at line 141 of file G4NucleiModel.hh.

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

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

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

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

View newest version in sPHENIX GitHub at line 129 of file G4NucleiModel.hh

References CLHEP::fermi, and radiusUnits.

G4double G4NucleiModel::getRatio ( G4int  ip) const
protected

Definition at line 1380 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 1380 of file G4NucleiModel.cc

References G4InuclParticleNames::dineutron, G4InuclParticleNames::diproton, G4cout, G4endl, G4InuclParticleNames::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.

View newest version in sPHENIX GitHub at line 167 of file G4NucleiModel.hh

References current_nucl1, and current_nucl2.

G4double G4NucleiModel::getVolume ( G4int  izone) const
inline

Definition at line 136 of file G4NucleiModel.hh.

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

View newest version in sPHENIX GitHub at line 142 of file G4NucleiModel.hh

References number_of_zones, and zone_radii.

Referenced by choosePointAlongTraj().

+ Here is the caller graph for this function:

G4CascadParticle G4NucleiModel::initializeCascad ( G4InuclElementaryParticle particle)

Definition at line 1425 of file G4NucleiModel.cc.

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

+ Here is the call graph for this function:

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

Definition at line 1851 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 1851 of file G4NucleiModel.cc

References absorptionCrossSection(), dummy_convertor, G4cout, G4endl, getCurrentDensity(), G4CascadParticle::getCurrentZone(), G4LorentzConvertor::getKinEnergyInTheTRS(), G4CascadParticle::getParticle(), G4InuclElementaryParticle::isNeutrino(), G4InuclParticleNames::muonMinus, G4InuclParticleNames::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 1345 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 1345 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 1069 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 1069 of file G4NucleiModel.cc

References fermi_momenta, G4cout, G4endl, mom, 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 1098 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 1098 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 612 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 612 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 298 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 298 of file G4NucleiModel.cc

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

Referenced by generateModel().

+ Here is the caller graph for this function:

void G4NucleiModel::setVerboseLevel ( G4int  verbose)
inline

Definition at line 99 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 99 of file G4NucleiModel.hh

References verboseLevel.

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

Definition at line 209 of file G4NucleiModel.hh.

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

View newest version in sPHENIX GitHub at line 154 of file G4NucleiModel.hh

References G4CascadParticle::getCurrentZone(), and number_of_zones.

+ Here is the call graph for this function:

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

Definition at line 1954 of file G4NucleiModel.cc.

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

Definition at line 1057 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 1057 of file G4NucleiModel.cc

References G4InuclParticleNames::gam, G4InuclParticleNames::mum, G4InuclParticleNames::nn, G4InuclParticleNames::pi0, G4InuclParticleNames::pim, G4InuclParticleNames::pip, G4InuclParticleNames::pn, and G4InuclParticleNames::pp.

Referenced by absorptionCrossSection(), G4ElementaryParticleCollider::collide(), and generateInteractionPartners().

+ Here is the caller graph for this function:

G4bool G4NucleiModel::worthToPropagate ( const G4CascadParticle cparticle) const

Definition at line 1349 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 1349 of file G4NucleiModel.cc

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

+ Here is the call graph for this function:

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

Definition at line 564 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 564 of file G4NucleiModel.cc

References A, epsilon(), G4cerr, G4cout, G4endl, G4Exp(), r, r1, 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 511 of file G4NucleiModel.cc.

View newest version in sPHENIX GitHub at line 511 of file G4NucleiModel.cc

References d2, epsilon(), G4cout, G4endl, G4Exp(), G4Log(), r, r1, 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

Definition at line 279 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 279 of file G4NucleiModel.hh

Referenced by fillBindingEnergies(), fillZoneRadii(), fillZoneVolumes(), generateModel(), printModel(), and zoneIntegralGaussian().

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

Definition at line 252 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 252 of file G4NucleiModel.hh

Referenced by generateInteractionPartners().

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

Definition at line 315 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 315 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 315 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 315 of file G4NucleiModel.hh

Referenced by fillZoneRadii().

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

Definition at line 274 of file G4NucleiModel.hh.

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

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

View newest version in sPHENIX GitHub at line 254 of file G4NucleiModel.hh

Referenced by initializeCascad().

const G4double G4NucleiModel::crossSectionUnits
private

Definition at line 298 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 298 of file G4NucleiModel.hh

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

G4int G4NucleiModel::current_nucl1
private

Definition at line 289 of file G4NucleiModel.hh.

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

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

View newest version in sPHENIX GitHub at line 248 of file G4NucleiModel.hh

Referenced by inverseMeanFreePath().

G4CollisionOutput G4NucleiModel::EPCoutput
private

Definition at line 249 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 249 of file G4NucleiModel.hh

Referenced by generateParticleFate().

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

Definition at line 271 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 271 of file G4NucleiModel.hh

Referenced by fillPotentials(), generateModel(), getFermiKinetic(), getFermiMomentum(), and passFermi().

const G4double G4NucleiModel::fermiMomentum
private

Definition at line 305 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 305 of file G4NucleiModel.hh

Referenced by fillPotentials(), and generateModel().

G4CascadeInterpolator<30> G4NucleiModel::gammaQDinterp
private

Definition at line 292 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 292 of file G4NucleiModel.hh

Referenced by absorptionCrossSection().

const G4double G4NucleiModel::gammaQDscale
private

Definition at line 307 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 307 of file G4NucleiModel.hh

Referenced by absorptionCrossSection().

const G4double G4NucleiModel::hyperon_vp = 0.030
staticprivate

Definition at line 319 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 319 of file G4NucleiModel.hh

Referenced by generateModel().

const G4double G4NucleiModel::kaon_vp = 0.015
staticprivate

Definition at line 318 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 318 of file G4NucleiModel.hh

Referenced by generateModel().

const G4double G4NucleiModel::large = 1000.
staticprivate

Definition at line 312 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 312 of file G4NucleiModel.hh

Referenced by generateInteractionLength(), and initializeCascad().

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

Definition at line 255 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 255 of file G4NucleiModel.hh

Referenced by initializeCascad().

const G4InuclElementaryParticle G4NucleiModel::neutronEP
private

Definition at line 322 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 322 of file G4NucleiModel.hh

Referenced by choosePointAlongTraj().

G4int G4NucleiModel::neutronNumber
private

Definition at line 283 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 283 of file G4NucleiModel.hh

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

G4int G4NucleiModel::neutronNumberCurrent
private

Definition at line 286 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 286 of file G4NucleiModel.hh

Referenced by empty(), generateInteractionPartners(), generateParticleFate(), getNumberOfNeutrons(), getRatio(), and reset().

G4double G4NucleiModel::nuclei_radius
private

Definition at line 275 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 275 of file G4NucleiModel.hh

Referenced by generateInteractionPartners(), generateModel(), getRadius(), initializeCascad(), and printModel().

G4double G4NucleiModel::nuclei_volume
private

Definition at line 276 of file G4NucleiModel.hh.

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

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

View newest version in sPHENIX GitHub at line 265 of file G4NucleiModel.hh

Referenced by fillPotentials().

const G4double G4NucleiModel::pion_vp = 0.007
staticprivate

Definition at line 316 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 316 of file G4NucleiModel.hh

Referenced by generateModel().

const G4double G4NucleiModel::pion_vp_small = 0.007
staticprivate

Definition at line 317 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 317 of file G4NucleiModel.hh

Referenced by generateModel().

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

Definition at line 313 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 313 of file G4NucleiModel.hh

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

const G4double G4NucleiModel::potentialThickness
private

Definition at line 308 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 308 of file G4NucleiModel.hh

Referenced by boundaryTransition().

const G4InuclElementaryParticle G4NucleiModel::protonEP
private

Definition at line 323 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 323 of file G4NucleiModel.hh

Referenced by choosePointAlongTraj().

G4int G4NucleiModel::protonNumber
private

Definition at line 284 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 284 of file G4NucleiModel.hh

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

G4int G4NucleiModel::protonNumberCurrent
private

Definition at line 287 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 287 of file G4NucleiModel.hh

Referenced by empty(), generateInteractionPartners(), generateParticleFate(), getNumberOfProtons(), getRatio(), and reset().

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

Definition at line 251 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 251 of file G4NucleiModel.hh

Referenced by generateInteractionPartners().

const G4double G4NucleiModel::R_nucleon
private

Definition at line 306 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 306 of file G4NucleiModel.hh

Referenced by passTrailing().

const G4double G4NucleiModel::radiusForSmall
private

Definition at line 303 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 303 of file G4NucleiModel.hh

Referenced by generateModel().

const G4double G4NucleiModel::radiusScale
private

Definition at line 301 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 301 of file G4NucleiModel.hh

Referenced by generateModel().

const G4double G4NucleiModel::radiusScale2
private

Definition at line 302 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 302 of file G4NucleiModel.hh

Referenced by generateModel().

const G4double G4NucleiModel::radiusUnits
private

Definition at line 299 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 299 of file G4NucleiModel.hh

Referenced by generateModel(), and getRadiusUnits().

const G4double G4NucleiModel::radScaleAlpha
private

Definition at line 304 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 304 of file G4NucleiModel.hh

Referenced by generateModel().

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

Definition at line 256 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 256 of file G4NucleiModel.hh

Referenced by initializeCascad().

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

Definition at line 264 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 264 of file G4NucleiModel.hh

Referenced by fillPotentials().

const G4double G4NucleiModel::skinDepth
private

Definition at line 300 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 300 of file G4NucleiModel.hh

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

const G4double G4NucleiModel::small = 1.0e-9
staticprivate

Definition at line 311 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 311 of file G4NucleiModel.hh

Referenced by choosePointAlongTraj(), generateInteractionLength(), generateInteractionPartners(), and initializeCascad().

G4InuclNuclei* G4NucleiModel::theNucleus
private

Definition at line 281 of file G4NucleiModel.hh.

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

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

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

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

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

View newest version in sPHENIX GitHub at line 266 of file G4NucleiModel.hh

Referenced by fillPotentials().

G4int G4NucleiModel::Z
private

Definition at line 280 of file G4NucleiModel.hh.

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

View newest version in sPHENIX GitHub at line 270 of file G4NucleiModel.hh

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

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

Definition at line 272 of file G4NucleiModel.hh.

View newest version in sPHENIX GitHub at line 272 of file G4NucleiModel.hh

Referenced by choosePointAlongTraj(), fillZoneRadii(), fillZoneVolumes(), generateInteractionPartners(), generateModel(), getRadius(), getZone(), and printModel().

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

Definition at line 273 of file G4NucleiModel.hh.

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