Geant4-11
|
#include <G4GoudsmitSaundersonTable.hh>
Data Structures | |
struct | GSMSCAngularDtr |
struct | SCPCorrection |
Private Member Functions | |
void | InitMoliereMSCParams () |
Static Private Attributes | |
static std::vector< GSMSCAngularDtr * > | gGSMSCAngularDistributions1 |
static std::vector< GSMSCAngularDtr * > | gGSMSCAngularDistributions2 |
static G4bool | gIsInitialised = false |
static constexpr G4double | gLAMBMAX = 100000.0 |
static constexpr G4double | gLAMBMIN = 1.0 |
static constexpr G4int | gLAMBNUM = 64 |
static constexpr G4int | gNUMSCR1 = 201 |
static constexpr G4int | gNUMSCR2 = 51 |
static constexpr G4double | gQMAX1 = 0.99 |
static constexpr G4double | gQMAX2 = 7.99 |
static constexpr G4double | gQMIN1 = 0.001 |
static constexpr G4double | gQMIN2 = 0.99 |
static constexpr G4int | gQNUM1 = 15 |
static constexpr G4int | gQNUM2 = 32 |
Definition at line 83 of file G4GoudsmitSaundersonTable.hh.
G4GoudsmitSaundersonTable::G4GoudsmitSaundersonTable | ( | G4bool | iselectron | ) |
Definition at line 111 of file G4GoudsmitSaundersonTable.cc.
References fDeltaQ2, fHighEnergyLimit, fInvDeltaQ1, fInvDeltaQ2, fInvLogDeltaLambda, fIsElectron, fIsMottCorrection, fIsPWACorrection, fLogDeltaLambda, fLogLambda0, fLowEnergyLimit, fNumSPCEbinPerDec, CLHEP::keV, and CLHEP::MeV.
G4GoudsmitSaundersonTable::~G4GoudsmitSaundersonTable | ( | ) |
Definition at line 131 of file G4GoudsmitSaundersonTable.cc.
References fSCPCPerMatCuts, gGSMSCAngularDistributions1, gGSMSCAngularDistributions2, and gIsInitialised.
G4double G4GoudsmitSaundersonTable::ComputeScatteringPowerCorrection | ( | const G4MaterialCutsCouple * | matcut, |
G4double | ekin | ||
) |
Definition at line 611 of file G4GoudsmitSaundersonTable.cc.
References fSCPCPerMatCuts, G4Log(), G4MaterialCutsCouple::GetIndex(), and imax.
Referenced by G4GoudsmitSaundersonMscModel::GetTransportMeanFreePath(), and G4GoudsmitSaundersonMscModel::GetTransportMeanFreePathOnly().
G4GoudsmitSaundersonTable::GSMSCAngularDtr * G4GoudsmitSaundersonTable::GetGSAngularDtr | ( | G4double | scra, |
G4double & | lambdaval, | ||
G4double & | qval, | ||
G4double & | transfpar | ||
) |
Definition at line 359 of file G4GoudsmitSaundersonTable.cc.
References fInvDeltaQ1, fInvDeltaQ2, fInvLogDeltaLambda, fLogLambda0, G4Log(), G4UniformRand, gGSMSCAngularDistributions1, gGSMSCAngularDistributions2, gLAMBMAX, gLAMBNUM, gQMAX2, gQMIN1, gQMIN2, gQNUM1, and gQNUM2.
Referenced by SampleCosTheta().
Definition at line 122 of file G4GoudsmitSaundersonTable.hh.
Referenced by G4GoudsmitSaundersonMscModel::CrossSectionPerVolume(), G4GoudsmitSaundersonMscModel::GetTransportMeanFreePath(), G4GoudsmitSaundersonMscModel::GetTransportMeanFreePathOnly(), and InitSCPCorrection().
Definition at line 124 of file G4GoudsmitSaundersonTable.hh.
Referenced by G4GoudsmitSaundersonMscModel::CrossSectionPerVolume(), G4GoudsmitSaundersonMscModel::GetTransportMeanFreePath(), G4GoudsmitSaundersonMscModel::GetTransportMeanFreePathOnly(), and InitSCPCorrection().
void G4GoudsmitSaundersonTable::GetMottCorrectionFactors | ( | G4double | logekin, |
G4double | beta2, | ||
G4int | matindx, | ||
G4double & | mcToScr, | ||
G4double & | mcToQ1, | ||
G4double & | mcToG2PerG1 | ||
) |
Definition at line 543 of file G4GoudsmitSaundersonTable.cc.
References fIsMottCorrection.
Referenced by G4GoudsmitSaundersonMscModel::CrossSectionPerVolume(), G4GoudsmitSaundersonMscModel::GetTransportMeanFreePath(), and G4GoudsmitSaundersonMscModel::GetTransportMeanFreePathOnly().
Definition at line 166 of file G4GoudsmitSaundersonTable.cc.
References fDeltaQ2, fHighEnergyLimit, fInvDeltaQ1, fInvDeltaQ2, fInvLogDeltaLambda, fIsElectron, fIsMottCorrection, fLogDeltaLambda, fLogLambda0, fLowEnergyLimit, G4Log(), gIsInitialised, gLAMBMAX, gLAMBMIN, gLAMBNUM, gQMAX1, gQMAX2, gQMIN1, gQMIN2, gQNUM1, gQNUM2, InitMoliereMSCParams(), InitSCPCorrection(), and LoadMSCData().
Referenced by G4GoudsmitSaundersonMscModel::Initialise().
|
private |
Definition at line 553 of file G4GoudsmitSaundersonTable.cc.
References CLHEP::cm, CLHEP::cm3, fIsMottCorrection, fIsPWACorrection, CLHEP::g, G4Exp(), G4Log(), G4Material::GetDensity(), G4Material::GetElementVector(), G4Material::GetIndex(), G4Material::GetMaterialTable(), G4GSMottCorrection::GetMaxZet(), G4Material::GetNumberOfElements(), G4Material::GetTotNbOfAtomsPerVolume(), G4Material::GetVecNbOfAtomsPerVolume(), maxZ, and CLHEP::MeV.
Referenced by Initialise().
void G4GoudsmitSaundersonTable::InitSCPCorrection | ( | ) |
Definition at line 632 of file G4GoudsmitSaundersonTable.cc.
References A, CLHEP::electron_mass_c2, fHighEnergyLimit, fIsElectron, fLowEnergyLimit, fNumSPCEbinPerDec, fSCPCPerMatCuts, G4Exp(), G4Log(), G4lrint(), G4ProductionCutsTable::GetEnergyCutsVector(), G4Material::GetIndex(), G4MaterialCutsCouple::GetIndex(), G4Material::GetIonisation(), G4MaterialCutsCouple::GetMaterial(), G4ProductionCutsTable::GetMaterialCutsCouple(), GetMoliereBc(), GetMoliereXc2(), G4ProductionCutsTable::GetProductionCutsTable(), G4ProductionCutsTable::GetTableSize(), G4IonisParamMat::GetZeffective(), idxG4ElectronCut, idxG4PositronCut, G4INCL::Math::max(), G4INCL::Math::min(), and G4InuclParticleNames::z0.
Referenced by Initialise().
void G4GoudsmitSaundersonTable::LoadMSCData | ( | ) |
Definition at line 437 of file G4GoudsmitSaundersonTable.cc.
References FatalException, test::fname, G4GoudsmitSaundersonTable::GSMSCAngularDtr::fNumData, G4GoudsmitSaundersonTable::GSMSCAngularDtr::fParamA, G4GoudsmitSaundersonTable::GSMSCAngularDtr::fParamB, G4GoudsmitSaundersonTable::GSMSCAngularDtr::fUValues, G4Exception(), gGSMSCAngularDistributions1, gGSMSCAngularDistributions2, gLAMBNUM, gQNUM1, and gQNUM2.
Referenced by Initialise().
G4double G4GoudsmitSaundersonTable::SampleCosTheta | ( | G4double | lambdaval, |
G4double | qval, | ||
G4double | scra, | ||
G4double | lekin, | ||
G4double | beta2, | ||
G4int | matindx, | ||
GSMSCAngularDtr ** | gsDtr, | ||
G4int & | mcekini, | ||
G4int & | mcdelti, | ||
G4double & | transfPar, | ||
G4bool | isfirst | ||
) |
Definition at line 305 of file G4GoudsmitSaundersonTable.cc.
References fIsMottCorrection, G4UniformRand, GetGSAngularDtr(), and SampleGSSRCosTheta().
Referenced by Sampling().
G4double G4GoudsmitSaundersonTable::SampleGSSRCosTheta | ( | const GSMSCAngularDtr * | gsDrt, |
G4double | transfpar | ||
) |
Definition at line 334 of file G4GoudsmitSaundersonTable.cc.
References G4GoudsmitSaundersonTable::GSMSCAngularDtr::fNumData, G4GoudsmitSaundersonTable::GSMSCAngularDtr::fParamA, G4GoudsmitSaundersonTable::GSMSCAngularDtr::fParamB, G4GoudsmitSaundersonTable::GSMSCAngularDtr::fUValues, and G4UniformRand.
Referenced by SampleCosTheta().
G4bool G4GoudsmitSaundersonTable::Sampling | ( | G4double | lambdaval, |
G4double | qval, | ||
G4double | scra, | ||
G4double & | cost, | ||
G4double & | sint, | ||
G4double | lekin, | ||
G4double | beta2, | ||
G4int | matindx, | ||
GSMSCAngularDtr ** | gsDtr, | ||
G4int & | mcekini, | ||
G4int & | mcdelti, | ||
G4double & | transfPar, | ||
G4bool | isfirst | ||
) |
Definition at line 212 of file G4GoudsmitSaundersonTable.cc.
References G4Exp(), G4UniformRand, G4INCL::Math::max(), SampleCosTheta(), SingleScattering(), and CLHEP::twopi.
Referenced by G4GoudsmitSaundersonMscModel::SampleMSC().
|
inline |
Definition at line 131 of file G4GoudsmitSaundersonTable.hh.
References fIsMottCorrection.
Referenced by G4GoudsmitSaundersonMscModel::Initialise().
|
inline |
Definition at line 133 of file G4GoudsmitSaundersonTable.hh.
References fIsPWACorrection.
Referenced by G4GoudsmitSaundersonMscModel::Initialise().
G4double G4GoudsmitSaundersonTable::SingleScattering | ( | G4double | lambdaval, |
G4double | scra, | ||
G4double | lekin, | ||
G4double | beta2, | ||
G4int | matindx | ||
) |
Definition at line 514 of file G4GoudsmitSaundersonTable.cc.
References fIsMottCorrection, and G4UniformRand.
Referenced by G4GoudsmitSaundersonMscModel::ComputeTruePathLengthLimit(), and Sampling().
|
private |
Definition at line 167 of file G4GoudsmitSaundersonTable.hh.
Referenced by G4GoudsmitSaundersonTable(), and Initialise().
|
private |
Definition at line 171 of file G4GoudsmitSaundersonTable.hh.
Referenced by G4GoudsmitSaundersonTable(), Initialise(), and InitSCPCorrection().
|
private |
Definition at line 166 of file G4GoudsmitSaundersonTable.hh.
Referenced by G4GoudsmitSaundersonTable(), GetGSAngularDtr(), and Initialise().
|
private |
Definition at line 168 of file G4GoudsmitSaundersonTable.hh.
Referenced by G4GoudsmitSaundersonTable(), GetGSAngularDtr(), and Initialise().
|
private |
Definition at line 165 of file G4GoudsmitSaundersonTable.hh.
Referenced by G4GoudsmitSaundersonTable(), GetGSAngularDtr(), and Initialise().
|
private |
Definition at line 160 of file G4GoudsmitSaundersonTable.hh.
Referenced by G4GoudsmitSaundersonTable(), Initialise(), and InitSCPCorrection().
|
private |
Definition at line 161 of file G4GoudsmitSaundersonTable.hh.
Referenced by G4GoudsmitSaundersonTable(), GetMottCorrectionFactors(), Initialise(), InitMoliereMSCParams(), SampleCosTheta(), SetOptionMottCorrection(), and SingleScattering().
|
private |
Definition at line 162 of file G4GoudsmitSaundersonTable.hh.
Referenced by G4GoudsmitSaundersonTable(), InitMoliereMSCParams(), and SetOptionPWACorrection().
|
private |
Definition at line 164 of file G4GoudsmitSaundersonTable.hh.
Referenced by G4GoudsmitSaundersonTable(), and Initialise().
|
private |
Definition at line 163 of file G4GoudsmitSaundersonTable.hh.
Referenced by G4GoudsmitSaundersonTable(), GetGSAngularDtr(), and Initialise().
|
private |
Definition at line 170 of file G4GoudsmitSaundersonTable.hh.
Referenced by G4GoudsmitSaundersonTable(), Initialise(), and InitSCPCorrection().
|
private |
Definition at line 173 of file G4GoudsmitSaundersonTable.hh.
Referenced by G4GoudsmitSaundersonTable(), and InitSCPCorrection().
|
private |
Definition at line 182 of file G4GoudsmitSaundersonTable.hh.
Referenced by ComputeScatteringPowerCorrection(), InitSCPCorrection(), and ~G4GoudsmitSaundersonTable().
|
staticprivate |
Definition at line 186 of file G4GoudsmitSaundersonTable.hh.
Referenced by GetGSAngularDtr(), LoadMSCData(), and ~G4GoudsmitSaundersonTable().
|
staticprivate |
Definition at line 187 of file G4GoudsmitSaundersonTable.hh.
Referenced by GetGSAngularDtr(), LoadMSCData(), and ~G4GoudsmitSaundersonTable().
|
staticprivate |
Definition at line 147 of file G4GoudsmitSaundersonTable.hh.
Referenced by Initialise(), and ~G4GoudsmitSaundersonTable().
|
staticconstexprprivate |
Definition at line 154 of file G4GoudsmitSaundersonTable.hh.
Referenced by GetGSAngularDtr(), and Initialise().
|
staticconstexprprivate |
Definition at line 153 of file G4GoudsmitSaundersonTable.hh.
Referenced by Initialise().
|
staticconstexprprivate |
Definition at line 148 of file G4GoudsmitSaundersonTable.hh.
Referenced by GetGSAngularDtr(), Initialise(), and LoadMSCData().
|
staticconstexprprivate |
Definition at line 151 of file G4GoudsmitSaundersonTable.hh.
|
staticconstexprprivate |
Definition at line 152 of file G4GoudsmitSaundersonTable.hh.
|
staticconstexprprivate |
Definition at line 156 of file G4GoudsmitSaundersonTable.hh.
Referenced by Initialise().
|
staticconstexprprivate |
Definition at line 158 of file G4GoudsmitSaundersonTable.hh.
Referenced by GetGSAngularDtr(), and Initialise().
|
staticconstexprprivate |
Definition at line 155 of file G4GoudsmitSaundersonTable.hh.
Referenced by GetGSAngularDtr(), and Initialise().
|
staticconstexprprivate |
Definition at line 157 of file G4GoudsmitSaundersonTable.hh.
Referenced by GetGSAngularDtr(), and Initialise().
|
staticconstexprprivate |
Definition at line 149 of file G4GoudsmitSaundersonTable.hh.
Referenced by GetGSAngularDtr(), Initialise(), and LoadMSCData().
|
staticconstexprprivate |
Definition at line 150 of file G4GoudsmitSaundersonTable.hh.
Referenced by GetGSAngularDtr(), Initialise(), and LoadMSCData().