G4BertiniNucleiModel Class Reference

List of all members.

Detailed Description

Implements HETC nuclei model in Geant4.

Author:
Aatos Heikkinen and

Original HETC authors

Version:
0.0
Date:
25.11.2002
Warning:
Wery preliminary


Public Member Functions

 G4BertiniNucleiModel ()
 G4BertiniNucleiModel (G4InuclNuclei *nuclei)
void generateModel (G4double a, G4double z)
void reset ()
 create nuclei model
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
std::vector< G4CascadParticlegenerateParticleFate (G4CascadParticle &cparticle, G4ElementaryParticleCollider *theElementaryParticleCollider)
G4double getNumberOfNeutrons () const
G4double getNumberOfProtons () const
G4bool empty () const
G4bool stillInside (const G4CascadParticle &cparticle)
G4CascadParticle initializeCascad (G4InuclElementaryParticle *particle)
std::pair< std::vector< G4CascadParticle >,
std::vector< G4InuclElementaryParticle > > 
initializeCascad (G4InuclNuclei *bullet, G4InuclNuclei *target)
std::pair< G4int, G4intgetTypesOfNucleonsInvolved () const
G4bool worthToPropagate (const G4CascadParticle &cparticle) const

Private Member Functions

G4bool passFermi (const std::vector< G4InuclElementaryParticle > &particles, G4int zone)
void boundaryTransition (G4CascadParticle &cparticle)
G4InuclElementaryParticle generateNucleon (G4int type, G4int zone) const
G4InuclElementaryParticle generateQuasiDeutron (G4int type1, G4int type2, G4int zone) const
partners generateInteractionPartners (G4CascadParticle &cparticle) const
G4double volNumInt (G4double r1, G4double r2, G4double cu, G4double d1) const
G4double volNumInt1 (G4double r1, G4double r2, G4double cu2) const
 :::
G4double getRatio (G4int ip) const
 :::

Private Attributes

G4int verboseLevel
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< G4doublebinding_energies
G4double nuclei_radius
G4int number_of_zones
G4double A
G4double Z
G4double neutronNumber
G4double protonNumber
G4double neutronNumberCurrent
G4double protonNumberCurrent
G4int current_nucl1
G4int current_nucl2


Constructor & Destructor Documentation

G4BertiniNucleiModel::G4BertiniNucleiModel (  ) 

Definition at line 32 of file G4BertiniNucleiModel.cc.

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

Referenced by G4BertiniNucleiModel().

Here is the call graph for this function:

G4BertiniNucleiModel::G4BertiniNucleiModel ( G4InuclNuclei nuclei  )  [inline]

Definition at line 64 of file G4BertiniNucleiModel.hh.

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

Here is the call graph for this function:


Member Function Documentation

void G4BertiniNucleiModel::boundaryTransition ( G4CascadParticle cparticle  )  [private]

Definition at line 812 of file G4BertiniNucleiModel.cc.

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

Referenced by boundaryTransition(), and generateParticleFate().

Here is the call graph for this function:

G4bool G4BertiniNucleiModel::empty (  )  const [inline]

Definition at line 129 of file G4BertiniNucleiModel.hh.

References empty(), neutronNumberCurrent, and protonNumberCurrent.

Referenced by empty().

Here is the call graph for this function:

partners G4BertiniNucleiModel::generateInteractionPartners ( G4CascadParticle cparticle  )  const [private]

Definition at line 402 of file G4BertiniNucleiModel.cc.

References G4CascadSpecialFunctions::absorptionCrosSection(), G4CascadSpecialFunctions::crossSection(), G4cout, G4endl, generateInteractionPartners(), generateNucleon(), generateQuasiDeutron(), G4CascadParticle::getCurrentZone(), G4LorentzConvertor::getKinEnergyInTheTRS(), G4InuclElementaryParticle::getMass(), G4InuclParticle::getMomentum(), G4CascadParticle::getParticle(), G4CascadParticle::getPathToTheNextZone(), getRatio(), G4InuclSpecialFunctions::inuclRndm(), nuclei_radius, nucleon_densities, number_of_zones, G4InuclElementaryParticle::pion(), second, G4LorentzConvertor::setBullet(), G4InuclParticle::setModel(), G4LorentzConvertor::setTarget(), G4InuclElementaryParticle::type(), verboseLevel, G4CascadParticle::young(), and zone_radii.

Referenced by generateInteractionPartners(), and generateParticleFate().

Here is the call graph for this function:

void G4BertiniNucleiModel::generateModel ( G4double  a,
G4double  z 
)

Definition at line 40 of file G4BertiniNucleiModel.cc.

References A, binding_energies, G4InuclSpecialFunctions::bindingEnergy(), fermi_momenta, G4cout, G4endl, generateModel(), neutronNumber, neutronNumberCurrent, nuclei_radius, nucleon_densities, number_of_zones, protonNumber, protonNumberCurrent, verboseLevel, volNumInt(), volNumInt1(), Z, zone_potentials, and zone_radii.

Referenced by G4BertiniNucleiModel(), and generateModel().

Here is the call graph for this function:

G4InuclElementaryParticle G4BertiniNucleiModel::generateNucleon ( G4int  type,
G4int  zone 
) const [private]

Definition at line 347 of file G4BertiniNucleiModel.cc.

References fermi_momenta, G4cout, G4endl, generateNucleon(), G4InuclSpecialFunctions::inuclRndm(), G4InuclSpecialFunctions::randomCOS_SIN(), G4InuclSpecialFunctions::randomPHI(), and verboseLevel.

Referenced by generateInteractionPartners(), generateNucleon(), and generateQuasiDeutron().

Here is the call graph for this function:

std::vector< G4CascadParticle > G4BertiniNucleiModel::generateParticleFate ( G4CascadParticle cparticle,
G4ElementaryParticleCollider theElementaryParticleCollider 
)

Definition at line 654 of file G4BertiniNucleiModel.cc.

References boundaryTransition(), G4ElementaryParticleCollider::collide(), current_nucl1, current_nucl2, G4cout, G4endl, generateInteractionPartners(), generateParticleFate(), G4InuclElementaryParticle::getCharge(), G4CascadParticle::getCurrentZone(), G4CollisionOutput::getOutgoingParticles(), G4CascadParticle::getParticle(), G4CascadParticle::getPosition(), G4CascadParticle::incrementCurrentPath(), neutronNumberCurrent, G4InuclElementaryParticle::nucleon(), passFermi(), G4CascadParticle::print(), G4CollisionOutput::printCollisionOutput(), G4CascadParticle::propagateAlongThePath(), protonNumberCurrent, G4InuclElementaryParticle::quasi_deutron(), second, G4InuclElementaryParticle::type(), G4CascadParticle::updatePosition(), and verboseLevel.

Referenced by generateParticleFate().

Here is the call graph for this function:

G4InuclElementaryParticle G4BertiniNucleiModel::generateQuasiDeutron ( G4int  type1,
G4int  type2,
G4int  zone 
) const [private]

Definition at line 368 of file G4BertiniNucleiModel.cc.

References G4cout, G4endl, generateNucleon(), generateQuasiDeutron(), G4InuclParticle::getMomentum(), and verboseLevel.

Referenced by generateInteractionPartners(), and generateQuasiDeutron().

Here is the call graph for this function:

G4double G4BertiniNucleiModel::getDensity ( G4int  ip,
G4int  izone 
) const [inline]

Definition at line 83 of file G4BertiniNucleiModel.hh.

References getDensity(), and nucleon_densities.

Referenced by getDensity(), and printModel().

Here is the call graph for this function:

G4double G4BertiniNucleiModel::getFermiKinetic ( G4int  ip,
G4int  izone 
) const [inline]

Definition at line 95 of file G4BertiniNucleiModel.hh.

References fermi_momenta, getFermiKinetic(), and number_of_zones.

Referenced by getFermiKinetic(), and worthToPropagate().

Here is the call graph for this function:

G4double G4BertiniNucleiModel::getFermiMomentum ( G4int  ip,
G4int  izone 
) const [inline]

Definition at line 89 of file G4BertiniNucleiModel.hh.

References fermi_momenta, and getFermiMomentum().

Referenced by getFermiMomentum(), and printModel().

Here is the call graph for this function:

G4double G4BertiniNucleiModel::getNumberOfNeutrons (  )  const [inline]

Definition at line 119 of file G4BertiniNucleiModel.hh.

References getNumberOfNeutrons(), and neutronNumberCurrent.

Referenced by getNumberOfNeutrons().

Here is the call graph for this function:

G4double G4BertiniNucleiModel::getNumberOfProtons (  )  const [inline]

Definition at line 124 of file G4BertiniNucleiModel.hh.

References getNumberOfProtons(), and protonNumberCurrent.

Referenced by getNumberOfProtons().

Here is the call graph for this function:

G4double G4BertiniNucleiModel::getPotential ( G4int  ip,
G4int  izone 
) const [inline]

Definition at line 108 of file G4BertiniNucleiModel.hh.

References getPotential(), number_of_zones, and zone_potentials.

Referenced by boundaryTransition(), getPotential(), and printModel().

Here is the call graph for this function:

G4double G4BertiniNucleiModel::getRatio ( G4int  ip  )  const [private]

:::

Definition at line 889 of file G4BertiniNucleiModel.cc.

References G4cout, G4endl, getRatio(), neutronNumber, neutronNumberCurrent, protonNumber, protonNumberCurrent, and verboseLevel.

Referenced by generateInteractionPartners(), and getRatio().

Here is the call graph for this function:

std::pair<G4int, G4int> G4BertiniNucleiModel::getTypesOfNucleonsInvolved (  )  const [inline]

Definition at line 144 of file G4BertiniNucleiModel.hh.

References current_nucl1, current_nucl2, and getTypesOfNucleonsInvolved().

Referenced by getTypesOfNucleonsInvolved().

Here is the call graph for this function:

std::pair< std::vector< G4CascadParticle >, std::vector< G4InuclElementaryParticle > > G4BertiniNucleiModel::initializeCascad ( G4InuclNuclei bullet,
G4InuclNuclei target 
)

Definition at line 940 of file G4BertiniNucleiModel.cc.

References G4LorentzConvertor::backToTheLab(), G4InuclSpecialFunctions::bindingEnergy(), G4cout, G4endl, G4InuclNuclei::getA(), G4InuclNuclei::getKineticEnergy(), G4InuclNuclei::getMass(), G4InuclElementaryParticle::getMass(), G4InuclParticle::getMomentum(), G4InuclNuclei::getZ(), initializeCascad(), G4InuclSpecialFunctions::inuclRndm(), nuclei_radius, number_of_zones, print(), G4InuclSpecialFunctions::randomCOS_SIN(), G4InuclSpecialFunctions::randomPHI(), s, G4LorentzConvertor::setBullet(), G4LorentzConvertor::setTarget(), G4LorentzConvertor::toTheTargetRestFrame(), and verboseLevel.

Here is the call graph for this function:

G4CascadParticle G4BertiniNucleiModel::initializeCascad ( G4InuclElementaryParticle particle  ) 

Definition at line 915 of file G4BertiniNucleiModel.cc.

References G4cout, G4endl, initializeCascad(), G4InuclSpecialFunctions::inuclRndm(), nuclei_radius, number_of_zones, G4CascadParticle::print(), G4InuclSpecialFunctions::randomPHI(), and verboseLevel.

Referenced by initializeCascad().

Here is the call graph for this function:

G4bool G4BertiniNucleiModel::passFermi ( const std::vector< G4InuclElementaryParticle > &  particles,
G4int  zone 
) [private]

Definition at line 783 of file G4BertiniNucleiModel.cc.

References fermi_momenta, G4cout, G4endl, passFermi(), and verboseLevel.

Referenced by generateParticleFate(), and passFermi().

Here is the call graph for this function:

void G4BertiniNucleiModel::printModel (  )  const

Definition at line 324 of file G4BertiniNucleiModel.cc.

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

Referenced by printModel().

Here is the call graph for this function:

void G4BertiniNucleiModel::reset (  )  [inline]

create nuclei model

Parameters:
a is atom mumber (number of protons and neutron in nuclei)
z in number of protons in nuclei
See also:
Returns:
void

Definition at line 76 of file G4BertiniNucleiModel.hh.

References neutronNumber, neutronNumberCurrent, protonNumber, protonNumberCurrent, and reset().

Referenced by reset().

Here is the call graph for this function:

G4bool G4BertiniNucleiModel::stillInside ( const G4CascadParticle cparticle  )  [inline]

Definition at line 135 of file G4BertiniNucleiModel.hh.

References G4CascadParticle::getCurrentZone(), number_of_zones, and stillInside().

Referenced by stillInside().

Here is the call graph for this function:

G4double G4BertiniNucleiModel::volNumInt ( G4double  r1,
G4double  r2,
G4double  cu,
G4double  d1 
) const [private]

Definition at line 217 of file G4BertiniNucleiModel.cc.

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

Referenced by generateModel(), and volNumInt().

Here is the call graph for this function:

G4double G4BertiniNucleiModel::volNumInt1 ( G4double  r1,
G4double  r2,
G4double  cu2 
) const [private]

:::

Definition at line 273 of file G4BertiniNucleiModel.cc.

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

Referenced by generateModel(), and volNumInt1().

Here is the call graph for this function:

G4bool G4BertiniNucleiModel::worthToPropagate ( const G4CascadParticle cparticle  )  const

Check if cascade particle will continue.

Definition at line 869 of file G4BertiniNucleiModel.cc.

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

Referenced by worthToPropagate().

Here is the call graph for this function:


Member Data Documentation

G4double G4BertiniNucleiModel::A [private]

Definition at line 185 of file G4BertiniNucleiModel.hh.

Referenced by generateModel(), and printModel().

std::vector<G4double> G4BertiniNucleiModel::binding_energies [private]

Definition at line 182 of file G4BertiniNucleiModel.hh.

Referenced by generateModel(), and printModel().

G4int G4BertiniNucleiModel::current_nucl1 [private]

Definition at line 191 of file G4BertiniNucleiModel.hh.

Referenced by generateParticleFate(), and getTypesOfNucleonsInvolved().

G4int G4BertiniNucleiModel::current_nucl2 [private]

Definition at line 192 of file G4BertiniNucleiModel.hh.

Referenced by generateParticleFate(), and getTypesOfNucleonsInvolved().

std::vector<std::vector<G4double> > G4BertiniNucleiModel::fermi_momenta [private]

Definition at line 180 of file G4BertiniNucleiModel.hh.

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

G4double G4BertiniNucleiModel::neutronNumber [private]

Definition at line 187 of file G4BertiniNucleiModel.hh.

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

G4double G4BertiniNucleiModel::neutronNumberCurrent [private]

Definition at line 189 of file G4BertiniNucleiModel.hh.

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

G4double G4BertiniNucleiModel::nuclei_radius [private]

Definition at line 183 of file G4BertiniNucleiModel.hh.

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

std::vector<std::vector<G4double> > G4BertiniNucleiModel::nucleon_densities [private]

Definition at line 178 of file G4BertiniNucleiModel.hh.

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

G4int G4BertiniNucleiModel::number_of_zones [private]

Usually = 3, but number of zones is free parameter.

Definition at line 184 of file G4BertiniNucleiModel.hh.

Referenced by generateInteractionPartners(), generateModel(), getFermiKinetic(), getPotential(), initializeCascad(), printModel(), and stillInside().

G4double G4BertiniNucleiModel::protonNumber [private]

Definition at line 188 of file G4BertiniNucleiModel.hh.

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

G4double G4BertiniNucleiModel::protonNumberCurrent [private]

Definition at line 190 of file G4BertiniNucleiModel.hh.

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

G4int G4BertiniNucleiModel::verboseLevel [private]

Each cascade class has a verbosity level of its own.

Definition at line 152 of file G4BertiniNucleiModel.hh.

Referenced by boundaryTransition(), G4BertiniNucleiModel(), generateInteractionPartners(), generateModel(), generateNucleon(), generateParticleFate(), generateQuasiDeutron(), getRatio(), initializeCascad(), passFermi(), printModel(), volNumInt(), volNumInt1(), and worthToPropagate().

G4double G4BertiniNucleiModel::Z [private]

Definition at line 186 of file G4BertiniNucleiModel.hh.

Referenced by generateModel(), and printModel().

std::vector<std::vector<G4double> > G4BertiniNucleiModel::zone_potentials [private]

Definition at line 179 of file G4BertiniNucleiModel.hh.

Referenced by generateModel(), and getPotential().

std::vector<G4double> G4BertiniNucleiModel::zone_radii [private]

Definition at line 181 of file G4BertiniNucleiModel.hh.

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


The documentation for this class was generated from the following files:
Generated on Sat Apr 12 06:06:51 2008 for Geant4 by  doxygen 1.4.7