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

#include <geant4/tree/geant4-10.6-release/source/processes/hadronic/models/coherent_elastic/include/G4DiffuseElastic.hh>

+ Inheritance diagram for G4DiffuseElastic:
+ Collaboration diagram for G4DiffuseElastic:

Public Member Functions

 G4DiffuseElastic ()
 
virtual ~G4DiffuseElastic ()
 
virtual G4bool IsApplicable (const G4HadProjectile &, G4Nucleus &)
 
void Initialise ()
 
void InitialiseOnFly (G4double Z, G4double A)
 
void BuildAngleTable ()
 
virtual G4double SampleInvariantT (const G4ParticleDefinition *p, G4double plab, G4int Z, G4int A)
 
G4double NeutronTuniform (G4int Z)
 
void SetPlabLowLimit (G4double value)
 
void SetHEModelLowLimit (G4double value)
 
void SetQModelLowLimit (G4double value)
 
void SetLowestEnergyLimit (G4double value)
 
void SetRecoilKinEnergyLimit (G4double value)
 
G4double SampleT (const G4ParticleDefinition *aParticle, G4double p, G4double A)
 
G4double SampleTableT (const G4ParticleDefinition *aParticle, G4double p, G4double Z, G4double A)
 
G4double SampleThetaCMS (const G4ParticleDefinition *aParticle, G4double p, G4double A)
 
G4double SampleTableThetaCMS (const G4ParticleDefinition *aParticle, G4double p, G4double Z, G4double A)
 
G4double GetScatteringAngle (G4int iMomentum, G4int iAngle, G4double position)
 
G4double SampleThetaLab (const G4HadProjectile *aParticle, G4double tmass, G4double A)
 
G4double GetDiffuseElasticXsc (const G4ParticleDefinition *particle, G4double theta, G4double momentum, G4double A)
 
G4double GetInvElasticXsc (const G4ParticleDefinition *particle, G4double theta, G4double momentum, G4double A, G4double Z)
 
G4double GetDiffuseElasticSumXsc (const G4ParticleDefinition *particle, G4double theta, G4double momentum, G4double A, G4double Z)
 
G4double GetInvElasticSumXsc (const G4ParticleDefinition *particle, G4double tMand, G4double momentum, G4double A, G4double Z)
 
G4double IntegralElasticProb (const G4ParticleDefinition *particle, G4double theta, G4double momentum, G4double A)
 
G4double GetCoulombElasticXsc (const G4ParticleDefinition *particle, G4double theta, G4double momentum, G4double Z)
 
G4double GetInvCoulombElasticXsc (const G4ParticleDefinition *particle, G4double tMand, G4double momentum, G4double A, G4double Z)
 
G4double GetCoulombTotalXsc (const G4ParticleDefinition *particle, G4double momentum, G4double Z)
 
G4double GetCoulombIntegralXsc (const G4ParticleDefinition *particle, G4double momentum, G4double Z, G4double theta1, G4double theta2)
 
G4double CalculateParticleBeta (const G4ParticleDefinition *particle, G4double momentum)
 
G4double CalculateZommerfeld (G4double beta, G4double Z1, G4double Z2)
 
G4double CalculateAm (G4double momentum, G4double n, G4double Z)
 
G4double CalculateNuclearRad (G4double A)
 
G4double ThetaCMStoThetaLab (const G4DynamicParticle *aParticle, G4double tmass, G4double thetaCMS)
 
G4double ThetaLabToThetaCMS (const G4DynamicParticle *aParticle, G4double tmass, G4double thetaLab)
 
void TestAngleTable (const G4ParticleDefinition *theParticle, G4double partMom, G4double Z, G4double A)
 
G4double BesselJzero (G4double z)
 
G4double BesselJone (G4double z)
 
G4double DampFactor (G4double z)
 
G4double BesselOneByArg (G4double z)
 
G4double GetDiffElasticProb (G4double theta)
 
G4double GetDiffElasticSumProb (G4double theta)
 
G4double GetDiffElasticSumProbA (G4double alpha)
 
G4double GetIntegrandFunction (G4double theta)
 
G4double GetNuclearRadius ()
 
- Public Member Functions inherited from G4HadronElastic
 G4HadronElastic (const G4String &name="hElasticLHEP")
 
 ~G4HadronElastic () override
 
G4HadFinalStateApplyYourself (const G4HadProjectile &aTrack, G4Nucleus &targetNucleus) override
 
G4double SampleInvariantT (const G4ParticleDefinition *p, G4double plab, G4int Z, G4int A) override
 
G4double GetSlopeCof (const G4int pdg)
 
void SetLowestEnergyLimit (G4double value)
 
G4double LowestEnergyLimit () const
 
G4double ComputeMomentumCMS (const G4ParticleDefinition *p, G4double plab, G4int Z, G4int A)
 
void ModelDescription (std::ostream &) const override
 
- Public Member Functions inherited from G4HadronicInteraction
 G4HadronicInteraction (const G4String &modelName="HadronicModel")
 
virtual ~G4HadronicInteraction ()
 
G4double GetMinEnergy () const
 
G4double GetMinEnergy (const G4Material *aMaterial, const G4Element *anElement) const
 
void SetMinEnergy (G4double anEnergy)
 
void SetMinEnergy (G4double anEnergy, const G4Element *anElement)
 
void SetMinEnergy (G4double anEnergy, const G4Material *aMaterial)
 
G4double GetMaxEnergy () const
 
G4double GetMaxEnergy (const G4Material *aMaterial, const G4Element *anElement) const
 
void SetMaxEnergy (const G4double anEnergy)
 
void SetMaxEnergy (G4double anEnergy, const G4Element *anElement)
 
void SetMaxEnergy (G4double anEnergy, const G4Material *aMaterial)
 
G4int GetVerboseLevel () const
 
void SetVerboseLevel (G4int value)
 
const G4StringGetModelName () const
 
void DeActivateFor (const G4Material *aMaterial)
 
void ActivateFor (const G4Material *aMaterial)
 
void DeActivateFor (const G4Element *anElement)
 
void ActivateFor (const G4Element *anElement)
 
G4bool IsBlocked (const G4Material *aMaterial) const
 
G4bool IsBlocked (const G4Element *anElement) const
 
void SetRecoilEnergyThreshold (G4double val)
 
G4double GetRecoilEnergyThreshold () const
 
virtual const std::pair
< G4double, G4double
GetFatalEnergyCheckLevels () const
 
virtual std::pair< G4double,
G4double
GetEnergyMomentumCheckLevels () const
 
void SetEnergyMomentumCheckLevels (G4double relativeLevel, G4double absoluteLevel)
 
virtual void BuildPhysicsTable (const G4ParticleDefinition &)
 
virtual void InitialiseModel ()
 

Private Attributes

G4ParticleDefinitiontheProton
 
G4ParticleDefinitiontheNeutron
 
G4ParticleDefinitiontheDeuteron
 
G4ParticleDefinitiontheAlpha
 
const G4ParticleDefinitionthePionPlus
 
const G4ParticleDefinitionthePionMinus
 
G4double lowEnergyRecoilLimit
 
G4double lowEnergyLimitHE
 
G4double lowEnergyLimitQ
 
G4double lowestEnergyLimit
 
G4double plabLowLimit
 
G4int fEnergyBin
 
G4int fAngleBin
 
G4PhysicsLogVectorfEnergyVector
 
G4PhysicsTablefAngleTable
 
std::vector< G4PhysicsTable * > fAngleBank
 
std::vector< G4doublefElementNumberVector
 
std::vector< G4StringfElementNameVector
 
const G4ParticleDefinitionfParticle
 
G4double fWaveVector
 
G4double fAtomicWeight
 
G4double fAtomicNumber
 
G4double fNuclearRadius
 
G4double fBeta
 
G4double fZommerfeld
 
G4double fAm
 
G4bool fAddCoulomb
 

Additional Inherited Members

- Protected Member Functions inherited from G4HadronicInteraction
void SetModelName (const G4String &nam)
 
G4bool IsBlocked () const
 
void Block ()
 
- Protected Attributes inherited from G4HadronElastic
G4double pLocalTmax
 

Detailed Description

Definition at line 58 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 58 of file G4DiffuseElastic.hh

Constructor & Destructor Documentation

G4DiffuseElastic::~G4DiffuseElastic ( )
virtual

Definition at line 117 of file G4DiffuseElastic.cc.

View newest version in sPHENIX GitHub at line 117 of file G4DiffuseElastic.cc

References fAngleBank, fAngleTable, fEnergyVector, and it.

Member Function Documentation

G4double G4DiffuseElastic::BesselJone ( G4double  z)
inline

Definition at line 329 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 329 of file G4DiffuseElastic.hh

Referenced by BesselOneByArg(), GetDiffElasticProb(), GetDiffElasticSumProb(), and GetDiffElasticSumProbA().

+ Here is the caller graph for this function:

G4double G4DiffuseElastic::BesselJzero ( G4double  z)
inline

Definition at line 277 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 277 of file G4DiffuseElastic.hh

Referenced by GetDiffElasticProb(), GetDiffElasticSumProb(), and GetDiffElasticSumProbA().

+ Here is the caller graph for this function:

G4double G4DiffuseElastic::BesselOneByArg ( G4double  z)
inline

Definition at line 404 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 404 of file G4DiffuseElastic.hh

References BesselJone(), x, and x2.

Referenced by GetDiffElasticProb(), GetDiffElasticSumProb(), and GetDiffElasticSumProbA().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4DiffuseElastic::BuildAngleTable ( )

Definition at line 1000 of file G4DiffuseElastic.cc.

View newest version in sPHENIX GitHub at line 1000 of file G4DiffuseElastic.cc

References a, CalculateAm(), CalculateZommerfeld(), Acts::Test::delta, fAddCoulomb, fAm, fAngleBin, fAngleTable, fAtomicNumber, fBeta, fEnergyBin, fEnergyVector, fNuclearRadius, fParticle, fWaveVector, fZommerfeld, GetIntegrandFunction(), G4PhysicsVector::GetLowEdgeEnergy(), G4ParticleDefinition::GetPDGCharge(), G4ParticleDefinition::GetPDGMass(), source.hepunit::hbarc, G4PhysicsTable::insertAt(), G4Integrator< T, F >::Legendre10(), CLHEP::pi, G4PhysicsFreeVector::PutValue(), sum, and z.

Referenced by Initialise(), and InitialiseOnFly().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4DiffuseElastic::CalculateAm ( G4double  momentum,
G4double  n,
G4double  Z 
)
inline

Definition at line 450 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 450 of file G4DiffuseElastic.hh

References G4Pow::A13(), CLHEP::Bohr_radius, fAm, G4Pow::GetInstance(), CLHEP::hbarc, k, and n.

Referenced by BuildAngleTable(), GetCoulombElasticXsc(), GetCoulombIntegralXsc(), GetCoulombTotalXsc(), GetDiffuseElasticSumXsc(), and TestAngleTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4DiffuseElastic::CalculateNuclearRad ( G4double  A)
inline

Definition at line 465 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 465 of file G4DiffuseElastic.hh

References G4Pow::A13(), G4Pow::A23(), kdfinder::abs(), CLHEP::fermi, fNuclearRadius, G4Pow::GetInstance(), G4Pow::powA(), and Acts::IntegrationTest::R.

Referenced by GetDiffuseElasticSumXsc(), GetDiffuseElasticXsc(), Initialise(), InitialiseOnFly(), IntegralElasticProb(), SampleThetaCMS(), and TestAngleTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4DiffuseElastic::CalculateParticleBeta ( const G4ParticleDefinition particle,
G4double  momentum 
)
inline

Definition at line 425 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 425 of file G4DiffuseElastic.hh

References a, fBeta, G4ParticleDefinition::GetPDGMass(), and mass.

Referenced by GetCoulombElasticXsc(), GetCoulombIntegralXsc(), GetCoulombTotalXsc(), and GetDiffuseElasticSumXsc().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4DiffuseElastic::CalculateZommerfeld ( G4double  beta,
G4double  Z1,
G4double  Z2 
)
inline

Definition at line 439 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 439 of file G4DiffuseElastic.hh

References CLHEP::fine_structure_const, and fZommerfeld.

Referenced by BuildAngleTable(), GetCoulombElasticXsc(), GetCoulombIntegralXsc(), GetCoulombTotalXsc(), GetDiffuseElasticSumXsc(), and TestAngleTable().

+ Here is the caller graph for this function:

G4double G4DiffuseElastic::DampFactor ( G4double  z)
inline

Definition at line 381 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 381 of file G4DiffuseElastic.hh

References f2, f3, and f4.

Referenced by GetDiffElasticProb(), GetDiffElasticSumProb(), and GetDiffElasticSumProbA().

+ Here is the caller graph for this function:

G4double G4DiffuseElastic::GetCoulombElasticXsc ( const G4ParticleDefinition particle,
G4double  theta,
G4double  momentum,
G4double  Z 
)
inline

Definition at line 529 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 529 of file G4DiffuseElastic.hh

References CalculateAm(), CalculateParticleBeta(), CalculateZommerfeld(), G4ParticleDefinition::GetPDGCharge(), CLHEP::hbarc, k, n, and z.

Referenced by GetInvCoulombElasticXsc().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4DiffuseElastic::GetCoulombIntegralXsc ( const G4ParticleDefinition particle,
G4double  momentum,
G4double  Z,
G4double  theta1,
G4double  theta2 
)
inline

Definition at line 578 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 578 of file G4DiffuseElastic.hh

References c1, c2, CalculateAm(), CalculateParticleBeta(), CalculateZommerfeld(), G4cout, G4endl, G4ParticleDefinition::GetPDGCharge(), CLHEP::hbarc, k, n, CLHEP::twopi, and z.

+ Here is the call graph for this function:

G4double G4DiffuseElastic::GetCoulombTotalXsc ( const G4ParticleDefinition particle,
G4double  momentum,
G4double  Z 
)
inline

Definition at line 553 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 553 of file G4DiffuseElastic.hh

References CLHEP::Bohr_radius, CalculateAm(), CalculateParticleBeta(), CalculateZommerfeld(), CLHEP::fermi, G4cout, G4endl, G4ParticleDefinition::GetPDGCharge(), CLHEP::hbarc, k, n, CLHEP::pi, and z.

+ Here is the call graph for this function:

G4double G4DiffuseElastic::GetDiffElasticProb ( G4double  theta)

Definition at line 380 of file G4DiffuseElastic.cc.

View newest version in sPHENIX GitHub at line 380 of file G4DiffuseElastic.cc

References BesselJone(), BesselJzero(), BesselOneByArg(), DampFactor(), Acts::Test::delta, e1, e2, fermi, fNuclearRadius, fParticle, fWaveVector, G4Exp(), GeV, source.hepunit::hbarc, G4InuclParticleNames::k0, G4InuclParticleNames::lambda, pi, theNeutron, theProton, and theta().

Referenced by GetDiffuseElasticXsc().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4DiffuseElastic::GetDiffElasticSumProb ( G4double  theta)

Definition at line 468 of file G4DiffuseElastic.cc.

View newest version in sPHENIX GitHub at line 468 of file G4DiffuseElastic.cc

References BesselJone(), BesselJzero(), BesselOneByArg(), DampFactor(), Acts::Test::delta, e1, e2, fAddCoulomb, fAm, fermi, fNuclearRadius, fParticle, fWaveVector, fZommerfeld, G4Exp(), GeV, source.hepunit::hbarc, G4InuclParticleNames::k0, G4InuclParticleNames::lambda, pi, theNeutron, theProton, and theta().

Referenced by GetDiffuseElasticSumXsc().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4DiffuseElastic::GetDiffElasticSumProbA ( G4double  alpha)

Definition at line 574 of file G4DiffuseElastic.cc.

View newest version in sPHENIX GitHub at line 574 of file G4DiffuseElastic.cc

References BesselJone(), BesselJzero(), BesselOneByArg(), DampFactor(), Acts::Test::delta, e1, e2, fAddCoulomb, fAm, fermi, fNuclearRadius, fParticle, fWaveVector, fZommerfeld, G4Exp(), G4InuclParticleNames::lambda, pi, theNeutron, theProton, and theta().

Referenced by GetIntegrandFunction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4DiffuseElastic::GetDiffuseElasticSumXsc ( const G4ParticleDefinition particle,
G4double  theta,
G4double  momentum,
G4double  A,
G4double  Z 
)

Definition at line 244 of file G4DiffuseElastic.cc.

View newest version in sPHENIX GitHub at line 244 of file G4DiffuseElastic.cc

References A(), CalculateAm(), CalculateNuclearRad(), CalculateParticleBeta(), CalculateZommerfeld(), fAddCoulomb, fAm, fAtomicNumber, fAtomicWeight, fBeta, fNuclearRadius, fParticle, fWaveVector, fZommerfeld, GetDiffElasticSumProb(), G4ParticleDefinition::GetPDGCharge(), source.hepunit::hbarc, particle, theta(), Z, and z.

Referenced by GetInvElasticSumXsc().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4DiffuseElastic::GetDiffuseElasticXsc ( const G4ParticleDefinition particle,
G4double  theta,
G4double  momentum,
G4double  A 
)

Definition at line 173 of file G4DiffuseElastic.cc.

View newest version in sPHENIX GitHub at line 173 of file G4DiffuseElastic.cc

References A(), CalculateNuclearRad(), fAddCoulomb, fAtomicWeight, fNuclearRadius, fParticle, fWaveVector, GetDiffElasticProb(), source.hepunit::hbarc, and particle.

Referenced by GetInvElasticXsc().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4DiffuseElastic::GetIntegrandFunction ( G4double  theta)

Definition at line 680 of file G4DiffuseElastic.cc.

View newest version in sPHENIX GitHub at line 680 of file G4DiffuseElastic.cc

References GetDiffElasticSumProbA().

Referenced by BuildAngleTable(), IntegralElasticProb(), SampleThetaCMS(), and TestAngleTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4DiffuseElastic::GetInvCoulombElasticXsc ( const G4ParticleDefinition particle,
G4double  tMand,
G4double  momentum,
G4double  A,
G4double  Z 
)

Definition at line 331 of file G4DiffuseElastic.cc.

View newest version in sPHENIX GitHub at line 331 of file G4DiffuseElastic.cc

References CLHEP::HepLorentzVector::boost(), CLHEP::HepLorentzVector::boostVector(), GetCoulombElasticXsc(), G4IonTable::GetIon(), G4ParticleTable::GetIonTable(), G4ParticleTable::GetParticleTable(), G4ParticleDefinition::GetPDGMass(), G4He3::He3(), CLHEP::Hep3Vector::mag(), pi, theAlpha, theDeuteron, theProton, G4Triton::Triton(), and CLHEP::HepLorentzVector::vect().

+ Here is the call graph for this function:

G4double G4DiffuseElastic::GetInvElasticSumXsc ( const G4ParticleDefinition particle,
G4double  tMand,
G4double  momentum,
G4double  A,
G4double  Z 
)

Definition at line 279 of file G4DiffuseElastic.cc.

View newest version in sPHENIX GitHub at line 279 of file G4DiffuseElastic.cc

References CLHEP::HepLorentzVector::boost(), CLHEP::HepLorentzVector::boostVector(), GetDiffuseElasticSumXsc(), G4IonTable::GetIon(), G4ParticleTable::GetIonTable(), G4ParticleTable::GetParticleTable(), G4ParticleDefinition::GetPDGMass(), G4He3::He3(), CLHEP::Hep3Vector::mag(), pi, theAlpha, theDeuteron, theProton, G4Triton::Triton(), and CLHEP::HepLorentzVector::vect().

+ Here is the call graph for this function:

G4double G4DiffuseElastic::GetInvElasticXsc ( const G4ParticleDefinition particle,
G4double  theta,
G4double  momentum,
G4double  A,
G4double  Z 
)

Definition at line 194 of file G4DiffuseElastic.cc.

View newest version in sPHENIX GitHub at line 194 of file G4DiffuseElastic.cc

References CLHEP::HepLorentzVector::boost(), CLHEP::HepLorentzVector::boostVector(), GetDiffuseElasticXsc(), G4IonTable::GetIon(), G4ParticleTable::GetIonTable(), G4ParticleTable::GetParticleTable(), G4ParticleDefinition::GetPDGMass(), G4He3::He3(), CLHEP::Hep3Vector::mag(), pi, theAlpha, theDeuteron, theProton, G4Triton::Triton(), and CLHEP::HepLorentzVector::vect().

+ Here is the call graph for this function:

G4double G4DiffuseElastic::GetNuclearRadius ( )
inline

Definition at line 191 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 191 of file G4DiffuseElastic.hh

G4double G4DiffuseElastic::GetScatteringAngle ( G4int  iMomentum,
G4int  iAngle,
G4double  position 
)

Definition at line 1093 of file G4DiffuseElastic.cc.

View newest version in sPHENIX GitHub at line 1093 of file G4DiffuseElastic.cc

References fAngleTable, G4UniformRand, x1, x2, y1, and y2.

Referenced by SampleTableThetaCMS().

+ Here is the caller graph for this function:

void G4DiffuseElastic::Initialise ( )

Definition at line 139 of file G4DiffuseElastic.cc.

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

References BuildAngleTable(), CalculateNuclearRad(), fAngleBank, fAngleTable, fAtomicNumber, fAtomicWeight, fElementNameVector, fElementNumberVector, fNuclearRadius, G4cout, G4endl, G4NistManager::GetAtomicMassAmu(), G4Element::GetElementTable(), G4Element::GetNumberOfElements(), G4NistManager::Instance(), and G4HadronicInteraction::verboseLevel.

+ Here is the call graph for this function:

void G4DiffuseElastic::InitialiseOnFly ( G4double  Z,
G4double  A 
)

Definition at line 974 of file G4DiffuseElastic.cc.

View newest version in sPHENIX GitHub at line 974 of file G4DiffuseElastic.cc

References BuildAngleTable(), CalculateNuclearRad(), fAngleBank, fAngleTable, fAtomicNumber, fAtomicWeight, fElementNumberVector, fNuclearRadius, G4cout, G4endl, G4NistManager::GetAtomicMassAmu(), G4NistManager::Instance(), G4HadronicInteraction::verboseLevel, and Z.

Referenced by SampleTableThetaCMS().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4DiffuseElastic::IntegralElasticProb ( const G4ParticleDefinition particle,
G4double  theta,
G4double  momentum,
G4double  A 
)

Definition at line 696 of file G4DiffuseElastic.cc.

View newest version in sPHENIX GitHub at line 696 of file G4DiffuseElastic.cc

References A(), CalculateNuclearRad(), fAtomicWeight, fNuclearRadius, fParticle, fWaveVector, GetIntegrandFunction(), source.hepunit::hbarc, G4Integrator< T, F >::Legendre96(), and particle.

+ Here is the call graph for this function:

G4bool G4DiffuseElastic::IsApplicable ( const G4HadProjectile projectile,
G4Nucleus nucleus 
)
inlinevirtual

Reimplemented from G4HadronicInteraction.

Definition at line 232 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 232 of file G4DiffuseElastic.hh

References G4HadProjectile::GetDefinition(), G4Nucleus::GetZ_asInt(), G4KaonMinus::KaonMinus(), G4KaonPlus::KaonPlus(), G4Neutron::Neutron(), G4PionMinus::PionMinus(), G4PionPlus::PionPlus(), and G4Proton::Proton().

+ Here is the call graph for this function:

G4double G4DiffuseElastic::NeutronTuniform ( G4int  Z)

Definition at line 825 of file G4DiffuseElastic.cc.

View newest version in sPHENIX GitHub at line 825 of file G4DiffuseElastic.cc

References G4Exp().

Referenced by SampleInvariantT().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4DiffuseElastic::SampleInvariantT ( const G4ParticleDefinition p,
G4double  plab,
G4int  Z,
G4int  A 
)
virtual

Reimplemented from G4HadronicInteraction.

Definition at line 787 of file G4DiffuseElastic.cc.

View newest version in sPHENIX GitHub at line 787 of file G4DiffuseElastic.cc

References CLHEP::HepLorentzVector::boost(), CLHEP::HepLorentzVector::boostVector(), fParticle, G4UniformRand, G4NucleiProperties::GetNuclearMass(), G4ParticleDefinition::GetPDGMass(), CLHEP::Hep3Vector::mag(), NeutronTuniform(), SampleTableT(), t, theNeutron, and CLHEP::HepLorentzVector::vect().

+ Here is the call graph for this function:

G4double G4DiffuseElastic::SampleT ( const G4ParticleDefinition aParticle,
G4double  p,
G4double  A 
)

Definition at line 721 of file G4DiffuseElastic.cc.

View newest version in sPHENIX GitHub at line 721 of file G4DiffuseElastic.cc

References SampleThetaCMS(), t, and theta().

Referenced by SampleThetaLab().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4DiffuseElastic::SampleTableT ( const G4ParticleDefinition aParticle,
G4double  p,
G4double  Z,
G4double  A 
)

Definition at line 839 of file G4DiffuseElastic.cc.

View newest version in sPHENIX GitHub at line 839 of file G4DiffuseElastic.cc

References alpha, SampleTableThetaCMS(), and t.

Referenced by SampleInvariantT().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4DiffuseElastic::SampleTableThetaCMS ( const G4ParticleDefinition aParticle,
G4double  p,
G4double  Z,
G4double  A 
)

Definition at line 854 of file G4DiffuseElastic.cc.

View newest version in sPHENIX GitHub at line 854 of file G4DiffuseElastic.cc

References fAngleBank, fAngleBin, fAngleTable, fElementNumberVector, fEnergyBin, fEnergyVector, G4UniformRand, G4PhysicsVector::GetLowEdgeEnergy(), G4ParticleDefinition::GetPDGMass(), GetScatteringAngle(), InitialiseOnFly(), and position.

Referenced by SampleTableT().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4DiffuseElastic::SampleThetaCMS ( const G4ParticleDefinition aParticle,
G4double  p,
G4double  A 
)

Definition at line 734 of file G4DiffuseElastic.cc.

View newest version in sPHENIX GitHub at line 734 of file G4DiffuseElastic.cc

References A(), CalculateNuclearRad(), fAtomicWeight, fNuclearRadius, fParticle, fWaveVector, G4UniformRand, GetIntegrandFunction(), source.hepunit::hbarc, G4Integrator< T, F >::Legendre10(), G4Integrator< T, F >::Legendre96(), norm, particle, pi, G4INCL::DeJongSpin::shoot(), and sum.

Referenced by SampleT().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4DiffuseElastic::SampleThetaLab ( const G4HadProjectile aParticle,
G4double  tmass,
G4double  A 
)
void G4DiffuseElastic::SetHEModelLowLimit ( G4double  value)
inline

Definition at line 256 of file G4DiffuseElastic.hh.

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

References lowEnergyLimitHE.

void G4DiffuseElastic::SetLowestEnergyLimit ( G4double  value)
inline

Definition at line 266 of file G4DiffuseElastic.hh.

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

References lowestEnergyLimit.

void G4DiffuseElastic::SetPlabLowLimit ( G4double  value)
inline

Definition at line 251 of file G4DiffuseElastic.hh.

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

References plabLowLimit.

void G4DiffuseElastic::SetQModelLowLimit ( G4double  value)
inline

Definition at line 261 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 261 of file G4DiffuseElastic.hh

References lowEnergyLimitQ.

void G4DiffuseElastic::SetRecoilKinEnergyLimit ( G4double  value)
inline

Definition at line 246 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 246 of file G4DiffuseElastic.hh

References lowEnergyRecoilLimit.

G4double G4DiffuseElastic::ThetaCMStoThetaLab ( const G4DynamicParticle aParticle,
G4double  tmass,
G4double  thetaCMS 
)
G4double G4DiffuseElastic::ThetaLabToThetaCMS ( const G4DynamicParticle aParticle,
G4double  tmass,
G4double  thetaLab 
)

Member Data Documentation

G4bool G4DiffuseElastic::fAddCoulomb
private
G4double G4DiffuseElastic::fAm
private
std::vector<G4PhysicsTable*> G4DiffuseElastic::fAngleBank
private

Definition at line 215 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 215 of file G4DiffuseElastic.hh

Referenced by Initialise(), InitialiseOnFly(), SampleTableThetaCMS(), TestAngleTable(), and ~G4DiffuseElastic().

G4int G4DiffuseElastic::fAngleBin
private

Definition at line 211 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 211 of file G4DiffuseElastic.hh

Referenced by BuildAngleTable(), G4DiffuseElastic(), SampleTableThetaCMS(), and TestAngleTable().

G4PhysicsTable* G4DiffuseElastic::fAngleTable
private
G4double G4DiffuseElastic::fAtomicNumber
private

Definition at line 223 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 223 of file G4DiffuseElastic.hh

Referenced by BuildAngleTable(), G4DiffuseElastic(), GetDiffuseElasticSumXsc(), Initialise(), InitialiseOnFly(), and TestAngleTable().

G4double G4DiffuseElastic::fAtomicWeight
private
G4double G4DiffuseElastic::fBeta
private

Definition at line 225 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 225 of file G4DiffuseElastic.hh

Referenced by BuildAngleTable(), CalculateParticleBeta(), G4DiffuseElastic(), GetDiffuseElasticSumXsc(), and TestAngleTable().

std::vector<G4String> G4DiffuseElastic::fElementNameVector
private

Definition at line 218 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 218 of file G4DiffuseElastic.hh

Referenced by Initialise().

std::vector<G4double> G4DiffuseElastic::fElementNumberVector
private

Definition at line 217 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 217 of file G4DiffuseElastic.hh

Referenced by Initialise(), InitialiseOnFly(), SampleTableThetaCMS(), and TestAngleTable().

G4int G4DiffuseElastic::fEnergyBin
private

Definition at line 210 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 210 of file G4DiffuseElastic.hh

Referenced by BuildAngleTable(), G4DiffuseElastic(), SampleTableThetaCMS(), and TestAngleTable().

G4PhysicsLogVector* G4DiffuseElastic::fEnergyVector
private

Definition at line 213 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 213 of file G4DiffuseElastic.hh

Referenced by BuildAngleTable(), G4DiffuseElastic(), SampleTableThetaCMS(), and ~G4DiffuseElastic().

G4double G4DiffuseElastic::fZommerfeld
private
G4double G4DiffuseElastic::lowEnergyLimitHE
private

Definition at line 205 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 205 of file G4DiffuseElastic.hh

Referenced by G4DiffuseElastic(), and SetHEModelLowLimit().

G4double G4DiffuseElastic::lowEnergyLimitQ
private

Definition at line 206 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 206 of file G4DiffuseElastic.hh

Referenced by G4DiffuseElastic(), and SetQModelLowLimit().

G4double G4DiffuseElastic::lowEnergyRecoilLimit
private

Definition at line 204 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 204 of file G4DiffuseElastic.hh

Referenced by G4DiffuseElastic(), and SetRecoilKinEnergyLimit().

G4double G4DiffuseElastic::lowestEnergyLimit
private

Definition at line 207 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 207 of file G4DiffuseElastic.hh

Referenced by G4DiffuseElastic(), and SetLowestEnergyLimit().

G4double G4DiffuseElastic::plabLowLimit
private

Definition at line 208 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 208 of file G4DiffuseElastic.hh

Referenced by G4DiffuseElastic(), and SetPlabLowLimit().

G4ParticleDefinition* G4DiffuseElastic::theAlpha
private

Definition at line 199 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 199 of file G4DiffuseElastic.hh

Referenced by G4DiffuseElastic(), GetInvCoulombElasticXsc(), GetInvElasticSumXsc(), and GetInvElasticXsc().

G4ParticleDefinition* G4DiffuseElastic::theDeuteron
private

Definition at line 198 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 198 of file G4DiffuseElastic.hh

Referenced by G4DiffuseElastic(), GetInvCoulombElasticXsc(), GetInvElasticSumXsc(), and GetInvElasticXsc().

G4ParticleDefinition* G4DiffuseElastic::theNeutron
private

Definition at line 197 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 197 of file G4DiffuseElastic.hh

Referenced by G4DiffuseElastic(), GetDiffElasticProb(), GetDiffElasticSumProb(), GetDiffElasticSumProbA(), and SampleInvariantT().

const G4ParticleDefinition* G4DiffuseElastic::thePionMinus
private

Definition at line 202 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 202 of file G4DiffuseElastic.hh

Referenced by G4DiffuseElastic().

const G4ParticleDefinition* G4DiffuseElastic::thePionPlus
private

Definition at line 201 of file G4DiffuseElastic.hh.

View newest version in sPHENIX GitHub at line 201 of file G4DiffuseElastic.hh

Referenced by G4DiffuseElastic().

G4ParticleDefinition* G4DiffuseElastic::theProton
private

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