Geant4
10.03
|
#include <G4WentzelVIRelXSection.hh>
Public Member Functions | |
G4WentzelVIRelXSection (G4bool combined=true) | |
virtual | ~G4WentzelVIRelXSection () |
void | Initialise (const G4ParticleDefinition *, G4double CosThetaLim) |
void | SetupParticle (const G4ParticleDefinition *) |
G4double | SetupTarget (G4int Z, G4double cut) |
G4double | ComputeTransportCrossSectionPerAtom (G4double CosThetaMax) |
G4ThreeVector & | SampleSingleScattering (G4double CosThetaMin, G4double CosThetaMax, G4double elecRatio) |
G4double | ComputeNuclearCrossSection (G4double CosThetaMin, G4double CosThetaMax) |
G4double | ComputeElectronCrossSection (G4double CosThetaMin, G4double CosThetaMax) |
G4double | SetupKinematic (G4double kinEnergy, const G4Material *mat, G4double cut, G4double tmass) |
G4double | GetMomentumSquare () const |
G4double | GetCosThetaNuc () const |
G4double | GetCosThetaElec () const |
Private Member Functions | |
void | ComputeMaxElectronScattering (G4double cut) |
G4WentzelVIRelXSection & | operator= (const G4WentzelVIRelXSection &right)=delete |
G4WentzelVIRelXSection (const G4WentzelVIRelXSection &)=delete | |
Static Private Attributes | |
static G4double | ScreenRSquare [100] = {0.0} |
static G4double | FormFactor [100] = {0.0} |
Definition at line 71 of file G4WentzelVIRelXSection.hh.
|
explicit |
Definition at line 67 of file G4WentzelVIRelXSection.cc.
References a0, alpha2, charge3, chargeSquare, coeff, cosTetMaxElec, cosTetMaxNuc, cosThetaMax, currentMaterial, DBL_MAX, ecut, G4Electron::Electron(), etag, eV, factB, factB1, factD, factorA2, fG4pow, fNistManager, formfactA, FormFactor, gam0pcmp, G4NistManager::GetA27(), G4Pow::GetInstance(), G4NistManager::Instance(), invbeta2, kinFactor, lowEnergyLimit, mass, MeV, mom2, momCM2, particle, pcmp2, pi, G4Positron::Positron(), G4Proton::Proton(), ScreenRSquare, screenZ, spin, targetMass, targetZ, theElectron, thePositron, theProton, tkin, twopi, and G4Pow::Z13().
|
virtual |
Definition at line 116 of file G4WentzelVIRelXSection.cc.
|
privatedelete |
|
inline |
Definition at line 259 of file G4WentzelVIRelXSection.hh.
References cosTetMaxElec, kinFactor, G4INCL::Math::max(), and screenZ.
Referenced by G4hCoulombScatteringModel::ComputeCrossSectionPerAtom(), G4WentzelVIRelModel::ComputeXSectionPerVolume(), and G4hCoulombScatteringModel::SampleSecondaries().
|
private |
Definition at line 329 of file G4WentzelVIRelXSection.cc.
References cosTetMaxElec, mass, MeV, G4INCL::Math::min(), mom2, particle, theElectron, and tkin.
Referenced by SetupTarget().
|
inline |
Definition at line 245 of file G4WentzelVIRelXSection.hh.
References kinFactor, screenZ, and targetZ.
Referenced by G4hCoulombScatteringModel::ComputeCrossSectionPerAtom(), G4WentzelVIRelModel::ComputeXSectionPerVolume(), and G4hCoulombScatteringModel::SampleSecondaries().
Definition at line 184 of file G4WentzelVIRelXSection.cc.
References cosTetMaxElec, factB, formfactA, G4cout, G4endl, G4Log(), G4ParticleDefinition::GetParticleName(), kinFactor, G4INCL::Math::max(), mom2, numlimit, nwarnings, nwarnlimit, particle, screenZ, targetZ, and tkin.
Referenced by G4WentzelVIRelModel::ComputeCrossSectionPerAtom(), and G4WentzelVIRelModel::ComputeXSectionPerVolume().
|
inline |
Definition at line 237 of file G4WentzelVIRelXSection.hh.
References cosTetMaxElec.
|
inline |
Definition at line 230 of file G4WentzelVIRelXSection.hh.
References cosTetMaxNuc.
|
inline |
Definition at line 223 of file G4WentzelVIRelXSection.hh.
References mom2.
void G4WentzelVIRelXSection::Initialise | ( | const G4ParticleDefinition * | p, |
G4double | CosThetaLim | ||
) |
Definition at line 121 of file G4WentzelVIRelXSection.cc.
References a, cosThetaMax, currentMaterial, DBL_MAX, ecut, etag, factorA2, G4EmParameters::FactorForAngleLimit(), fermi, G4EmParameters::Instance(), isCombined, mom2, momCM2, SetupParticle(), targetZ, and tkin.
Referenced by G4hCoulombScatteringModel::Initialise(), and G4WentzelVIRelModel::Initialise().
|
privatedelete |
G4ThreeVector & G4WentzelVIRelXSection::SampleSingleScattering | ( | G4double | CosThetaMin, |
G4double | CosThetaMax, | ||
G4double | elecRatio | ||
) |
Definition at line 281 of file G4WentzelVIRelXSection.cc.
References cosTetMaxElec, factB, factB1, factD, formfactA, G4INCL::Math::max(), screenZ, targetZ, temp, and twopi.
Referenced by G4WentzelVIRelModel::SampleScattering(), and G4hCoulombScatteringModel::SampleSecondaries().
|
inline |
Definition at line 180 of file G4WentzelVIRelXSection.hh.
References cosTetMaxNuc, currentMaterial, ecut, factB, factD, factorA2, G4IonisParamMat::GetInvA23(), G4Material::GetIonisation(), invbeta2, isCombined, mass, mom2, spin, targetMass, and tkin.
Referenced by G4hCoulombScatteringModel::ComputeCrossSectionPerAtom(), G4WentzelVIRelModel::ComputeCrossSectionPerAtom(), G4WentzelVIRelModel::ComputeGeomPathLength(), G4WentzelVIRelModel::ComputeTruePathLengthLimit(), G4WentzelVIRelModel::ComputeTrueStepLength(), and G4hCoulombScatteringModel::SampleSecondaries().
void G4WentzelVIRelXSection::SetupParticle | ( | const G4ParticleDefinition * | p | ) |
Definition at line 140 of file G4WentzelVIRelXSection.cc.
References charge3, chargeSquare, currentMaterial, eplus, G4ParticleDefinition::GetPDGCharge(), G4ParticleDefinition::GetPDGMass(), G4ParticleDefinition::GetPDGSpin(), mass, particle, spin, targetZ, and tkin.
Referenced by Initialise(), G4WentzelVIRelModel::SetupParticle(), and G4hCoulombScatteringModel::SetupParticle().
Definition at line 157 of file G4WentzelVIRelXSection.cc.
References alpha2, chargeSquare, coeff, ComputeMaxElectronScattering(), cosTetMaxElec, cosTetMaxNuc, etag, formfactA, FormFactor, invbeta2, kinFactor, G4INCL::Math::min(), mom2, particle, ScreenRSquare, screenZ, targetZ, theProton, and tkin.
Referenced by G4hCoulombScatteringModel::ComputeCrossSectionPerAtom(), G4WentzelVIRelModel::ComputeCrossSectionPerAtom(), G4WentzelVIRelModel::ComputeXSectionPerVolume(), G4WentzelVIRelModel::SampleScattering(), and G4hCoulombScatteringModel::SampleSecondaries().
|
private |
Definition at line 143 of file G4WentzelVIRelXSection.hh.
Referenced by G4WentzelVIRelXSection(), and SetupTarget().
|
private |
Definition at line 149 of file G4WentzelVIRelXSection.hh.
Referenced by G4WentzelVIRelXSection(), and SetupParticle().
|
private |
Definition at line 148 of file G4WentzelVIRelXSection.hh.
Referenced by G4WentzelVIRelXSection(), SetupParticle(), and SetupTarget().
|
private |
Definition at line 139 of file G4WentzelVIRelXSection.hh.
Referenced by G4WentzelVIRelXSection(), and SetupTarget().
|
private |
Definition at line 140 of file G4WentzelVIRelXSection.hh.
Referenced by ComputeElectronCrossSection(), ComputeMaxElectronScattering(), ComputeTransportCrossSectionPerAtom(), G4WentzelVIRelXSection(), GetCosThetaElec(), SampleSingleScattering(), and SetupTarget().
|
private |
Definition at line 141 of file G4WentzelVIRelXSection.hh.
Referenced by G4WentzelVIRelXSection(), GetCosThetaNuc(), SetupKinematic(), and SetupTarget().
|
private |
Definition at line 142 of file G4WentzelVIRelXSection.hh.
Referenced by G4WentzelVIRelXSection(), and Initialise().
|
private |
Definition at line 123 of file G4WentzelVIRelXSection.hh.
Referenced by G4WentzelVIRelXSection(), Initialise(), SetupKinematic(), and SetupParticle().
|
private |
Definition at line 158 of file G4WentzelVIRelXSection.hh.
Referenced by G4WentzelVIRelXSection(), Initialise(), and SetupKinematic().
|
private |
Definition at line 157 of file G4WentzelVIRelXSection.hh.
Referenced by G4WentzelVIRelXSection(), Initialise(), and SetupTarget().
|
private |
Definition at line 167 of file G4WentzelVIRelXSection.hh.
Referenced by ComputeTransportCrossSectionPerAtom(), G4WentzelVIRelXSection(), SampleSingleScattering(), and SetupKinematic().
|
private |
Definition at line 168 of file G4WentzelVIRelXSection.hh.
Referenced by G4WentzelVIRelXSection(), and SampleSingleScattering().
|
private |
Definition at line 169 of file G4WentzelVIRelXSection.hh.
Referenced by G4WentzelVIRelXSection(), SampleSingleScattering(), and SetupKinematic().
|
private |
Definition at line 166 of file G4WentzelVIRelXSection.hh.
Referenced by G4WentzelVIRelXSection(), Initialise(), and SetupKinematic().
|
private |
Definition at line 126 of file G4WentzelVIRelXSection.hh.
Referenced by G4WentzelVIRelXSection().
|
private |
Definition at line 125 of file G4WentzelVIRelXSection.hh.
Referenced by G4WentzelVIRelXSection().
|
private |
Definition at line 165 of file G4WentzelVIRelXSection.hh.
Referenced by ComputeTransportCrossSectionPerAtom(), G4WentzelVIRelXSection(), SampleSingleScattering(), and SetupTarget().
|
staticprivate |
Definition at line 174 of file G4WentzelVIRelXSection.hh.
Referenced by G4WentzelVIRelXSection(), and SetupTarget().
|
private |
Definition at line 170 of file G4WentzelVIRelXSection.hh.
Referenced by G4WentzelVIRelXSection().
|
private |
Definition at line 155 of file G4WentzelVIRelXSection.hh.
Referenced by G4WentzelVIRelXSection(), SetupKinematic(), and SetupTarget().
|
private |
Definition at line 136 of file G4WentzelVIRelXSection.hh.
Referenced by Initialise(), and SetupKinematic().
|
private |
Definition at line 156 of file G4WentzelVIRelXSection.hh.
Referenced by ComputeElectronCrossSection(), ComputeNuclearCrossSection(), ComputeTransportCrossSectionPerAtom(), G4WentzelVIRelXSection(), and SetupTarget().
|
private |
Definition at line 159 of file G4WentzelVIRelXSection.hh.
Referenced by G4WentzelVIRelXSection().
|
private |
Definition at line 151 of file G4WentzelVIRelXSection.hh.
Referenced by ComputeMaxElectronScattering(), G4WentzelVIRelXSection(), SetupKinematic(), and SetupParticle().
|
private |
Definition at line 153 of file G4WentzelVIRelXSection.hh.
Referenced by ComputeMaxElectronScattering(), ComputeTransportCrossSectionPerAtom(), G4WentzelVIRelXSection(), GetMomentumSquare(), Initialise(), SetupKinematic(), and SetupTarget().
|
private |
Definition at line 154 of file G4WentzelVIRelXSection.hh.
Referenced by G4WentzelVIRelXSection(), and Initialise().
|
private |
Definition at line 130 of file G4WentzelVIRelXSection.hh.
Referenced by ComputeTransportCrossSectionPerAtom().
|
private |
Definition at line 133 of file G4WentzelVIRelXSection.hh.
Referenced by ComputeTransportCrossSectionPerAtom().
|
private |
Definition at line 134 of file G4WentzelVIRelXSection.hh.
Referenced by ComputeTransportCrossSectionPerAtom().
|
private |
Definition at line 146 of file G4WentzelVIRelXSection.hh.
Referenced by ComputeMaxElectronScattering(), ComputeTransportCrossSectionPerAtom(), G4WentzelVIRelXSection(), SetupParticle(), and SetupTarget().
|
private |
Definition at line 171 of file G4WentzelVIRelXSection.hh.
Referenced by G4WentzelVIRelXSection().
|
staticprivate |
Definition at line 173 of file G4WentzelVIRelXSection.hh.
Referenced by G4WentzelVIRelXSection(), and SetupTarget().
|
private |
Definition at line 164 of file G4WentzelVIRelXSection.hh.
Referenced by ComputeElectronCrossSection(), ComputeNuclearCrossSection(), ComputeTransportCrossSectionPerAtom(), G4WentzelVIRelXSection(), SampleSingleScattering(), and SetupTarget().
|
private |
Definition at line 150 of file G4WentzelVIRelXSection.hh.
Referenced by G4WentzelVIRelXSection(), SetupKinematic(), and SetupParticle().
|
private |
Definition at line 163 of file G4WentzelVIRelXSection.hh.
Referenced by G4WentzelVIRelXSection(), and SetupKinematic().
|
private |
Definition at line 162 of file G4WentzelVIRelXSection.hh.
Referenced by ComputeNuclearCrossSection(), ComputeTransportCrossSectionPerAtom(), G4WentzelVIRelXSection(), Initialise(), SampleSingleScattering(), SetupParticle(), and SetupTarget().
|
private |
Definition at line 128 of file G4WentzelVIRelXSection.hh.
Referenced by SampleSingleScattering().
|
private |
Definition at line 121 of file G4WentzelVIRelXSection.hh.
Referenced by ComputeMaxElectronScattering(), and G4WentzelVIRelXSection().
|
private |
Definition at line 122 of file G4WentzelVIRelXSection.hh.
Referenced by G4WentzelVIRelXSection().
|
private |
Definition at line 120 of file G4WentzelVIRelXSection.hh.
Referenced by G4WentzelVIRelXSection(), and SetupTarget().
|
private |
Definition at line 152 of file G4WentzelVIRelXSection.hh.
Referenced by ComputeMaxElectronScattering(), ComputeTransportCrossSectionPerAtom(), G4WentzelVIRelXSection(), Initialise(), SetupKinematic(), SetupParticle(), and SetupTarget().