Geant4
10.03
|
#include <G4MicroElecInelasticModel.hh>
Protected Attributes | |
G4ParticleChangeForGamma * | fParticleChangeForGamma |
![]() | |
G4ElementData * | fElementData |
G4VParticleChange * | pParticleChange |
G4PhysicsTable * | xSectionTable |
const std::vector< G4double > * | theDensityFactor |
const std::vector< G4int > * | theDensityIdx |
size_t | idxTable |
Private Types | |
typedef std::map< G4String, G4String, std::less< G4String > > | MapFile |
typedef std::map< G4String, G4MicroElecCrossSectionDataSet *, std::less< G4String > > | MapData |
typedef std::map< double, std::map< double, double > > | TriDimensionMap |
typedef std::map< double, std::vector< double > > | VecMap |
Private Member Functions | |
G4double | RandomizeEjectedElectronEnergy (G4ParticleDefinition *aParticleDefinition, G4double incomingParticleEnergy, G4int shell) |
G4double | RandomizeEjectedElectronEnergyFromCumulatedDcs (G4ParticleDefinition *aParticleDefinition, G4double incomingParticleEnergy, G4int shell) |
G4double | Interpolate (G4double e1, G4double e2, G4double e, G4double xs1, G4double xs2) |
G4double | QuadInterpolator (G4double e11, G4double e12, G4double e21, G4double e22, G4double x11, G4double x12, G4double x21, G4double x22, G4double t1, G4double t2, G4double t, G4double e) |
G4int | RandomSelect (G4double energy, const G4String &particle) |
G4MicroElecInelasticModel & | operator= (const G4MicroElecInelasticModel &right) |
G4MicroElecInelasticModel (const G4MicroElecInelasticModel &) | |
Private Attributes | |
G4bool | fasterCode |
G4VAtomDeexcitation * | fAtomDeexcitation |
G4Material * | nistSi |
std::map< G4String, G4double, std::less< G4String > > | lowEnergyLimit |
std::map< G4String, G4double, std::less< G4String > > | highEnergyLimit |
G4bool | isInitialised |
G4int | verboseLevel |
MapFile | tableFile |
MapData | tableData |
G4MicroElecSiStructure | SiStructure |
TriDimensionMap | eDiffCrossSectionData [7] |
TriDimensionMap | eNrjTransfData [7] |
TriDimensionMap | pDiffCrossSectionData [7] |
TriDimensionMap | pNrjTransfData [7] |
std::vector< double > | eTdummyVec |
std::vector< double > | pTdummyVec |
VecMap | eVecm |
VecMap | pVecm |
VecMap | eProbaShellMap [7] |
VecMap | pProbaShellMap [7] |
Additional Inherited Members | |
![]() | |
G4ParticleChangeForLoss * | GetParticleChangeForLoss () |
G4ParticleChangeForGamma * | GetParticleChangeForGamma () |
virtual G4double | MaxSecondaryEnergy (const G4ParticleDefinition *, G4double kineticEnergy) |
const G4MaterialCutsCouple * | CurrentCouple () const |
void | SetCurrentElement (const G4Element *) |
![]() | |
static const G4double | inveplus = 1.0/CLHEP::eplus |
Definition at line 64 of file G4MicroElecInelasticModel.hh.
|
private |
Definition at line 119 of file G4MicroElecInelasticModel.hh.
|
private |
Definition at line 116 of file G4MicroElecInelasticModel.hh.
|
private |
Definition at line 145 of file G4MicroElecInelasticModel.hh.
|
private |
Definition at line 156 of file G4MicroElecInelasticModel.hh.
G4MicroElecInelasticModel::G4MicroElecInelasticModel | ( | const G4ParticleDefinition * | p = 0 , |
const G4String & | nam = "MicroElecInelasticModel" |
||
) |
Definition at line 62 of file G4MicroElecInelasticModel.cc.
References fasterCode, fAtomDeexcitation, G4NistManager::FindOrBuildMaterial(), fParticleChangeForGamma, G4cout, G4endl, G4NistManager::Instance(), nistSi, G4VEmModel::SetAngularDistribution(), G4VEmModel::SetDeexcitationFlag(), and verboseLevel.
|
virtual |
|
private |
|
virtual |
Reimplemented from G4VEmModel.
Definition at line 324 of file G4MicroElecInelasticModel.cc.
References cm, cm2, G4ionEffectiveCharge::EffectiveCharge(), eV, FatalException, G4MicroElecCrossSectionDataSet::FindValue(), G4cout, G4endl, G4Exception(), G4Material::GetBaseMaterial(), G4ParticleDefinition::GetParticleName(), G4ParticleDefinition::GetPDGMass(), G4Material::GetTotNbOfAtomsPerVolume(), highEnergyLimit, lowEnergyLimit, nistSi, pos, tableData, and verboseLevel.
double G4MicroElecInelasticModel::DifferentialCrossSection | ( | G4ParticleDefinition * | aParticleDefinition, |
G4double | k, | ||
G4double | energyTransfer, | ||
G4int | shell | ||
) |
Definition at line 708 of file G4MicroElecInelasticModel.cc.
References eDiffCrossSectionData, G4Electron::ElectronDefinition(), G4MicroElecSiStructure::Energy(), eTdummyVec, eVecm, pDiffCrossSectionData, G4Proton::ProtonDefinition(), pTdummyVec, pVecm, QuadInterpolator(), and SiStructure.
Referenced by RandomizeEjectedElectronEnergy().
|
virtual |
Implements G4VEmModel.
Definition at line 115 of file G4MicroElecInelasticModel.cc.
References G4LossTableManager::AtomDeexcitation(), cm, eDiffCrossSectionData, G4InuclParticleNames::electron, G4Electron::ElectronDefinition(), eNrjTransfData, eProbaShellMap, eTdummyVec, eV, eVecm, fasterCode, FatalException, fAtomDeexcitation, fParticleChangeForGamma, G4cout, G4endl, G4Exception(), G4VEmModel::GetParticleChangeForGamma(), G4ParticleDefinition::GetParticleName(), G4ParticleDefinition::GetPDGCharge(), G4ParticleDefinition::GetPDGMass(), GeV, highEnergyLimit, G4VEmModel::HighEnergyLimit(), G4LossTableManager::Instance(), isInitialised, keV, G4MicroElecCrossSectionDataSet::LoadData(), lowEnergyLimit, G4VEmModel::LowEnergyLimit(), MeV, pDiffCrossSectionData, pNrjTransfData, pProbaShellMap, G4InuclParticleNames::proton, G4Proton::ProtonDefinition(), pTdummyVec, pVecm, G4VEmModel::SetHighEnergyLimit(), G4VEmModel::SetLowEnergyLimit(), tableData, tableFile, and verboseLevel.
|
private |
Definition at line 804 of file G4MicroElecInelasticModel.cc.
References a, d1, d2, and fasterCode.
Referenced by QuadInterpolator(), and TransferedEnergy().
|
private |
|
private |
Definition at line 847 of file G4MicroElecInelasticModel.cc.
References Interpolate().
Referenced by DifferentialCrossSection(), and TransferedEnergy().
|
private |
Definition at line 601 of file G4MicroElecInelasticModel.cc.
References DifferentialCrossSection(), G4Electron::ElectronDefinition(), G4MicroElecSiStructure::Energy(), eV, G4UniformRand, G4Proton::ProtonDefinition(), and SiStructure.
Referenced by SampleSecondaries().
|
private |
Definition at line 917 of file G4MicroElecInelasticModel.cc.
References G4MicroElecSiStructure::Energy(), eV, G4UniformRand, SiStructure, and TransferedEnergy().
Referenced by SampleSecondaries().
|
private |
Definition at line 862 of file G4MicroElecInelasticModel.cc.
References FatalException, G4VEMDataSet::FindValue(), G4Exception(), G4UniformRand, G4MicroElecCrossSectionDataSet::GetComponent(), n, G4MicroElecCrossSectionDataSet::NumberOfComponents(), pos, and tableData.
Referenced by SampleSecondaries().
|
virtual |
Implements G4VEmModel.
Definition at line 435 of file G4MicroElecInelasticModel.cc.
References G4InuclSpecialFunctions::bindingEnergy(), G4Electron::Electron(), G4Electron::ElectronDefinition(), G4MicroElecSiStructure::Energy(), eV, fasterCode, fAtomDeexcitation, fKShell, fParticleChangeForGamma, G4cout, G4endl, G4VAtomDeexcitation::GenerateParticles(), G4VEmModel::GetAngularDistribution(), G4VAtomDeexcitation::GetAtomicShell(), G4DynamicParticle::GetDefinition(), G4DynamicParticle::GetKineticEnergy(), G4MaterialCutsCouple::GetMaterial(), G4DynamicParticle::GetMomentumDirection(), G4ParticleDefinition::GetParticleName(), G4ParticleDefinition::GetPDGMass(), highEnergyLimit, lowEnergyLimit, G4VParticleChange::ProposeLocalEnergyDeposit(), G4ParticleChangeForGamma::ProposeMomentumDirection(), G4Proton::ProtonDefinition(), RandomizeEjectedElectronEnergy(), RandomizeEjectedElectronEnergyFromCumulatedDcs(), RandomSelect(), G4VEmAngularDistribution::SampleDirectionForShell(), G4ParticleChangeForGamma::SetProposedKineticEnergy(), SiStructure, and verboseLevel.
|
inline |
Definition at line 177 of file G4MicroElecInelasticModel.hh.
References fasterCode.
G4double G4MicroElecInelasticModel::TransferedEnergy | ( | G4ParticleDefinition * | aParticleDefinition, |
G4double | incomingParticleEnergy, | ||
G4int | shell, | ||
G4double | random | ||
) |
Definition at line 941 of file G4MicroElecInelasticModel.cc.
References G4InuclSpecialFunctions::bindingEnergy(), G4Electron::ElectronDefinition(), G4MicroElecSiStructure::Energy(), eNrjTransfData, eProbaShellMap, eTdummyVec, Interpolate(), pNrjTransfData, pProbaShellMap, G4Proton::ProtonDefinition(), pTdummyVec, QuadInterpolator(), and SiStructure.
Referenced by RandomizeEjectedElectronEnergyFromCumulatedDcs().
|
private |
Definition at line 147 of file G4MicroElecInelasticModel.hh.
Referenced by DifferentialCrossSection(), and Initialise().
|
private |
Definition at line 148 of file G4MicroElecInelasticModel.hh.
Referenced by Initialise(), and TransferedEnergy().
|
private |
Definition at line 161 of file G4MicroElecInelasticModel.hh.
Referenced by Initialise(), and TransferedEnergy().
|
private |
Definition at line 153 of file G4MicroElecInelasticModel.hh.
Referenced by DifferentialCrossSection(), Initialise(), and TransferedEnergy().
|
private |
Definition at line 158 of file G4MicroElecInelasticModel.hh.
Referenced by DifferentialCrossSection(), Initialise(), and ~G4MicroElecInelasticModel().
|
private |
Definition at line 101 of file G4MicroElecInelasticModel.hh.
Referenced by G4MicroElecInelasticModel(), Initialise(), Interpolate(), SampleSecondaries(), and SelectFasterComputation().
|
private |
Definition at line 104 of file G4MicroElecInelasticModel.hh.
Referenced by G4MicroElecInelasticModel(), Initialise(), and SampleSecondaries().
|
protected |
Definition at line 97 of file G4MicroElecInelasticModel.hh.
Referenced by G4MicroElecInelasticModel(), Initialise(), and SampleSecondaries().
Definition at line 109 of file G4MicroElecInelasticModel.hh.
Referenced by CrossSectionPerVolume(), Initialise(), and SampleSecondaries().
|
private |
Definition at line 111 of file G4MicroElecInelasticModel.hh.
Referenced by Initialise().
Definition at line 108 of file G4MicroElecInelasticModel.hh.
Referenced by CrossSectionPerVolume(), Initialise(), and SampleSecondaries().
|
private |
Definition at line 106 of file G4MicroElecInelasticModel.hh.
Referenced by CrossSectionPerVolume(), and G4MicroElecInelasticModel().
|
private |
Definition at line 150 of file G4MicroElecInelasticModel.hh.
Referenced by DifferentialCrossSection(), and Initialise().
|
private |
Definition at line 151 of file G4MicroElecInelasticModel.hh.
Referenced by Initialise(), and TransferedEnergy().
|
private |
Definition at line 162 of file G4MicroElecInelasticModel.hh.
Referenced by Initialise(), and TransferedEnergy().
|
private |
Definition at line 154 of file G4MicroElecInelasticModel.hh.
Referenced by DifferentialCrossSection(), Initialise(), and TransferedEnergy().
|
private |
Definition at line 159 of file G4MicroElecInelasticModel.hh.
Referenced by DifferentialCrossSection(), Initialise(), and ~G4MicroElecInelasticModel().
|
private |
Definition at line 124 of file G4MicroElecInelasticModel.hh.
Referenced by DifferentialCrossSection(), RandomizeEjectedElectronEnergy(), RandomizeEjectedElectronEnergyFromCumulatedDcs(), SampleSecondaries(), and TransferedEnergy().
|
private |
Definition at line 120 of file G4MicroElecInelasticModel.hh.
Referenced by CrossSectionPerVolume(), Initialise(), RandomSelect(), and ~G4MicroElecInelasticModel().
|
private |
Definition at line 117 of file G4MicroElecInelasticModel.hh.
Referenced by Initialise().
|
private |
Definition at line 112 of file G4MicroElecInelasticModel.hh.
Referenced by CrossSectionPerVolume(), G4MicroElecInelasticModel(), Initialise(), and SampleSecondaries().