Geant4  10.00.p04
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
G4NuclNuclDiffuseElastic Class Reference
Inheritance diagram for G4NuclNuclDiffuseElastic:
G4HadronElastic G4HadronicInteraction

Public Member Functions

 G4NuclNuclDiffuseElastic ()
 
virtual ~G4NuclNuclDiffuseElastic ()
 
void Initialise ()
 
void InitialiseOnFly (G4double Z, G4double A)
 
void BuildAngleTable ()
 
virtual G4double SampleInvariantT (const G4ParticleDefinition *p, G4double plab, G4int Z, G4int A)
 
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 GetRutherfordXsc (G4double theta)
 
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 ()
 
G4complex GammaLogarithm (G4complex xx)
 
G4complex GammaLogB2n (G4complex xx)
 
G4double GetErf (G4double x)
 
G4double GetCosHaPit2 (G4double t)
 
G4double GetSinHaPit2 (G4double t)
 
G4double GetCint (G4double x)
 
G4double GetSint (G4double x)
 
G4complex GetErfcComp (G4complex z, G4int nMax)
 
G4complex GetErfcSer (G4complex z, G4int nMax)
 
G4complex GetErfcInt (G4complex z)
 
G4complex GetErfComp (G4complex z, G4int nMax)
 
G4complex GetErfSer (G4complex z, G4int nMax)
 
G4double GetExpCos (G4double x)
 
G4double GetExpSin (G4double x)
 
G4complex GetErfInt (G4complex z)
 
G4double GetLegendrePol (G4int n, G4double x)
 
G4complex TestErfcComp (G4complex z, G4int nMax)
 
G4complex TestErfcSer (G4complex z, G4int nMax)
 
G4complex TestErfcInt (G4complex z)
 
G4complex CoulombAmplitude (G4double theta)
 
G4double CoulombAmplitudeMod2 (G4double theta)
 
void CalculateCoulombPhaseZero ()
 
G4double CalculateCoulombPhase (G4int n)
 
void CalculateRutherfordAnglePar ()
 
G4double ProfileNear (G4double theta)
 
G4double ProfileFar (G4double theta)
 
G4double Profile (G4double theta)
 
G4complex PhaseNear (G4double theta)
 
G4complex PhaseFar (G4double theta)
 
G4complex GammaLess (G4double theta)
 
G4complex GammaMore (G4double theta)
 
G4complex AmplitudeNear (G4double theta)
 
G4complex AmplitudeFar (G4double theta)
 
G4complex Amplitude (G4double theta)
 
G4double AmplitudeMod2 (G4double theta)
 
G4complex AmplitudeSim (G4double theta)
 
G4double AmplitudeSimMod2 (G4double theta)
 
G4double GetRatioSim (G4double theta)
 
G4double GetRatioGen (G4double theta)
 
G4double GetFresnelDiffuseXsc (G4double theta)
 
G4double GetFresnelIntegrandXsc (G4double alpha)
 
G4complex AmplitudeGla (G4double theta)
 
G4double AmplitudeGlaMod2 (G4double theta)
 
G4complex AmplitudeGG (G4double theta)
 
G4double AmplitudeGGMod2 (G4double theta)
 
void InitParameters (const G4ParticleDefinition *theParticle, G4double partMom, G4double Z, G4double A)
 
void InitDynParameters (const G4ParticleDefinition *theParticle, G4double partMom)
 
void InitParametersGla (const G4DynamicParticle *aParticle, G4double partMom, G4double Z, G4double A)
 
G4double GetHadronNucleonXscNS (G4ParticleDefinition *pParticle, G4double pTkin, G4ParticleDefinition *tParticle)
 
G4double CalcMandelstamS (const G4double mp, const G4double mt, const G4double Plab)
 
G4double GetProfileLambda ()
 
void SetProfileLambda (G4double pl)
 
void SetProfileDelta (G4double pd)
 
void SetProfileAlpha (G4double pa)
 
void SetCofLambda (G4double pa)
 
void SetCofAlpha (G4double pa)
 
void SetCofAlphaMax (G4double pa)
 
void SetCofAlphaCoulomb (G4double pa)
 
void SetCofDelta (G4double pa)
 
void SetCofPhase (G4double pa)
 
void SetCofFar (G4double pa)
 
void SetEtaRatio (G4double pa)
 
void SetMaxL (G4int l)
 
void SetNuclearRadiusCof (G4double r)
 
G4double GetCofAlphaMax ()
 
G4double GetCofAlphaCoulomb ()
 
- Public Member Functions inherited from G4HadronElastic
 G4HadronElastic (const G4String &name="hElasticLHEP")
 
virtual ~G4HadronElastic ()
 
virtual G4HadFinalStateApplyYourself (const G4HadProjectile &aTrack, G4Nucleus &targetNucleus)
 
void SetLowestEnergyLimit (G4double value)
 
G4double LowestEnergyLimit () const
 
G4double ComputeMomentumCMS (const G4ParticleDefinition *p, G4double plab, G4int Z, G4int A)
 
virtual void Description () const
 
- Public Member Functions inherited from G4HadronicInteraction
 G4HadronicInteraction (const G4String &modelName="HadronicModel")
 
virtual ~G4HadronicInteraction ()
 
virtual G4bool IsApplicable (const G4HadProjectile &, G4Nucleus &)
 
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)
 
const G4HadronicInteractionGetMyPointer () const
 
virtual G4int GetVerboseLevel () const
 
virtual 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
 
G4bool operator== (const G4HadronicInteraction &right) const
 
G4bool operator!= (const G4HadronicInteraction &right) const
 
virtual const std::pair
< G4double, G4double
GetFatalEnergyCheckLevels () const
 
virtual std::pair< G4double,
G4double
GetEnergyMomentumCheckLevels () const
 
void SetEnergyMomentumCheckLevels (G4double relativeLevel, G4double absoluteLevel)
 
virtual void ModelDescription (std::ostream &outFile) const
 

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 fNuclearRadius1
 
G4double fNuclearRadius2
 
G4double fNuclearRadius
 
G4double fNuclearRadiusSquare
 
G4double fNuclearRadiusCof
 
G4double fBeta
 
G4double fZommerfeld
 
G4double fRutherfordRatio
 
G4double fAm
 
G4bool fAddCoulomb
 
G4double fCoulombPhase0
 
G4double fHalfRutThetaTg
 
G4double fHalfRutThetaTg2
 
G4double fRutherfordTheta
 
G4double fProfileLambda
 
G4double fProfileDelta
 
G4double fProfileAlpha
 
G4double fCofLambda
 
G4double fCofAlpha
 
G4double fCofDelta
 
G4double fCofPhase
 
G4double fCofFar
 
G4double fCofAlphaMax
 
G4double fCofAlphaCoulomb
 
G4int fMaxL
 
G4double fSumSigma
 
G4double fEtaRatio
 
G4double fReZ
 

Additional Inherited Members

- Protected Member Functions inherited from G4HadronicInteraction
void SetModelName (const G4String &nam)
 
G4bool IsBlocked () const
 
void Block ()
 
- Protected Attributes inherited from G4HadronicInteraction
G4HadFinalState theParticleChange
 
G4int verboseLevel
 
G4double theMinEnergy
 
G4double theMaxEnergy
 
G4bool isBlocked
 

Constructor & Destructor Documentation

virtual ~G4NuclNuclDiffuseElastic ( )
virtual

Member Function Documentation

void Initialise ( )
void InitialiseOnFly ( G4double  Z,
G4double  A 
)
void BuildAngleTable ( )
virtual G4double SampleInvariantT ( const G4ParticleDefinition p,
G4double  plab,
G4int  Z,
G4int  A 
)
virtual

Reimplemented from G4HadronElastic.

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 GetRutherfordXsc ( G4double  theta)
G4double GetInvCoulombElasticXsc ( const G4ParticleDefinition particle,
G4double  tMand,
G4double  momentum,
G4double  A,
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 
)

References CLHEP::Bohr_radius, and CLHEP::hbarc.

G4double CalculateNuclearRad ( G4double  A)

References CLHEP::fermi.

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 ( )
G4complex GammaLogarithm ( G4complex  xx)
G4complex GammaLogB2n ( G4complex  xx)

References CLHEP::twopi.

G4double GetErf ( G4double  x)
G4double GetCosHaPit2 ( G4double  t)

References CLHEP::halfpi.

Referenced by GetCint().

G4double GetSinHaPit2 ( G4double  t)

References CLHEP::halfpi.

Referenced by GetSint().

G4complex GetErfcComp ( G4complex  z,
G4int  nMax 
)
G4complex GetErfcSer ( G4complex  z,
G4int  nMax 
)
G4complex GetErfcInt ( G4complex  z)
G4complex GetErfComp ( G4complex  z,
G4int  nMax 
)
G4complex GetErfSer ( G4complex  z,
G4int  nMax 
)

References CLHEP::pi.

G4double GetExpCos ( G4double  x)
G4double GetExpSin ( G4double  x)
G4complex GetErfInt ( G4complex  z)
G4double GetLegendrePol ( G4int  n,
G4double  x 
)
G4complex TestErfcComp ( G4complex  z,
G4int  nMax 
)
G4complex TestErfcSer ( G4complex  z,
G4int  nMax 
)
G4complex TestErfcInt ( G4complex  z)
G4complex CoulombAmplitude ( G4double  theta)
G4double CoulombAmplitudeMod2 ( G4double  theta)
void CalculateCoulombPhaseZero ( )
G4double CalculateCoulombPhase ( G4int  n)
void CalculateRutherfordAnglePar ( )
G4double ProfileNear ( G4double  theta)

References CLHEP::pi.

G4double ProfileFar ( G4double  theta)

References CLHEP::pi.

G4double Profile ( G4double  theta)

References CLHEP::pi.

G4complex PhaseNear ( G4double  theta)

References CLHEP::halfpi, and CLHEP::pi.

G4complex PhaseFar ( G4double  theta)

References CLHEP::halfpi, and CLHEP::pi.

G4complex GammaLess ( G4double  theta)
G4complex GammaMore ( G4double  theta)
G4complex AmplitudeNear ( G4double  theta)
G4complex AmplitudeFar ( G4double  theta)

References CLHEP::pi.

G4complex Amplitude ( G4double  theta)
G4double AmplitudeMod2 ( G4double  theta)
G4complex AmplitudeSim ( G4double  theta)
G4double AmplitudeSimMod2 ( G4double  theta)
G4double GetRatioSim ( G4double  theta)

References CLHEP::pi.

G4double GetRatioGen ( G4double  theta)
G4double GetFresnelDiffuseXsc ( G4double  theta)
G4double GetFresnelIntegrandXsc ( G4double  alpha)
G4complex AmplitudeGla ( G4double  theta)
G4double AmplitudeGlaMod2 ( G4double  theta)
G4complex AmplitudeGG ( G4double  theta)
G4double AmplitudeGGMod2 ( G4double  theta)
void InitParameters ( const G4ParticleDefinition theParticle,
G4double  partMom,
G4double  Z,
G4double  A 
)
void InitDynParameters ( const G4ParticleDefinition theParticle,
G4double  partMom 
)
void InitParametersGla ( const G4DynamicParticle aParticle,
G4double  partMom,
G4double  Z,
G4double  A 
)
G4double GetHadronNucleonXscNS ( G4ParticleDefinition pParticle,
G4double  pTkin,
G4ParticleDefinition tParticle 
)
G4double CalcMandelstamS ( const G4double  mp,
const G4double  mt,
const G4double  Plab 
)
G4double GetProfileLambda ( )
void SetProfileLambda ( G4double  pl)
void SetProfileDelta ( G4double  pd)
void SetProfileAlpha ( G4double  pa)
void SetCofLambda ( G4double  pa)
void SetCofAlpha ( G4double  pa)
void SetCofAlphaMax ( G4double  pa)
void SetCofAlphaCoulomb ( G4double  pa)
void SetCofDelta ( G4double  pa)
void SetCofPhase ( G4double  pa)
void SetCofFar ( G4double  pa)
void SetEtaRatio ( G4double  pa)
void SetMaxL ( G4int  l)
void SetNuclearRadiusCof ( G4double  r)
G4double GetCofAlphaMax ( )
G4double GetCofAlphaCoulomb ( )

Member Data Documentation

G4ParticleDefinition* theProton
private
G4ParticleDefinition* theNeutron
private
G4ParticleDefinition* theDeuteron
private
G4ParticleDefinition* theAlpha
private
const G4ParticleDefinition* thePionPlus
private
const G4ParticleDefinition* thePionMinus
private
G4double lowEnergyRecoilLimit
private
G4double lowEnergyLimitHE
private
G4double lowEnergyLimitQ
private
G4double lowestEnergyLimit
private
G4double plabLowLimit
private
G4int fEnergyBin
private
G4int fAngleBin
private
G4PhysicsLogVector* fEnergyVector
private
G4PhysicsTable* fAngleTable
private
std::vector<G4PhysicsTable*> fAngleBank
private
std::vector<G4double> fElementNumberVector
private
std::vector<G4String> fElementNameVector
private
const G4ParticleDefinition* fParticle
private
G4double fWaveVector
private
G4double fAtomicWeight
private
G4double fAtomicNumber
private
G4double fNuclearRadius1
private
G4double fNuclearRadius2
private
G4double fNuclearRadius
private
G4double fNuclearRadiusSquare
private
G4double fNuclearRadiusCof
private
G4double fBeta
private
G4double fZommerfeld
private
G4double fRutherfordRatio
private
G4double fAm
private
G4bool fAddCoulomb
private
G4double fCoulombPhase0
private
G4double fHalfRutThetaTg
private
G4double fHalfRutThetaTg2
private
G4double fRutherfordTheta
private
G4double fProfileLambda
private
G4double fProfileDelta
private
G4double fProfileAlpha
private
G4double fCofLambda
private
G4double fCofAlpha
private
G4double fCofDelta
private
G4double fCofPhase
private
G4double fCofFar
private
G4double fCofAlphaMax
private
G4double fCofAlphaCoulomb
private
G4int fMaxL
private
G4double fSumSigma
private
G4double fEtaRatio
private
G4double fReZ
private