Geant4
10.01
|
#include <G4MicroElecInelasticModel.hh>
Protected Attributes | |
G4ParticleChangeForGamma * | fParticleChangeForGamma |
Protected Attributes inherited from G4VEmModel | |
CLHEP::HepRandomEngine * | rndmEngineMod |
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) |
void | RandomizeEjectedElectronDirection (G4ParticleDefinition *aParticleDefinition, G4double incomingParticleEnergy, G4double outgoingParticleEnergy, G4double &cosTheta, G4double &phi) |
G4double | LogLogInterpolate (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 | |
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 | pDiffCrossSectionData [7] |
std::vector< double > | eTdummyVec |
std::vector< double > | pTdummyVec |
VecMap | eVecm |
VecMap | pVecm |
Additional Inherited Members | |
Protected Member Functions inherited from G4VEmModel | |
G4ParticleChangeForLoss * | GetParticleChangeForLoss () |
G4ParticleChangeForGamma * | GetParticleChangeForGamma () |
virtual G4double | MaxSecondaryEnergy (const G4ParticleDefinition *, G4double kineticEnergy) |
const G4MaterialCutsCouple * | CurrentCouple () const |
void | SetCurrentElement (const G4Element *) |
Static Protected Attributes inherited from G4VEmModel | |
static const G4double | inveplus = 1.0/CLHEP::eplus |
Definition at line 64 of file G4MicroElecInelasticModel.hh.
|
private |
Definition at line 112 of file G4MicroElecInelasticModel.hh.
|
private |
Definition at line 109 of file G4MicroElecInelasticModel.hh.
|
private |
Definition at line 139 of file G4MicroElecInelasticModel.hh.
|
private |
Definition at line 145 of file G4MicroElecInelasticModel.hh.
G4MicroElecInelasticModel::G4MicroElecInelasticModel | ( | const G4ParticleDefinition * | p = 0 , |
const G4String & | nam = "MicroElecInelasticModel" |
||
) |
Definition at line 62 of file G4MicroElecInelasticModel.cc.
References G4NistManager::FindOrBuildMaterial(), fParticleChangeForGamma, G4cout, G4endl, G4NistManager::Instance(), nistSi, G4VEmModel::SetAngularDistribution(), G4VEmModel::SetDeexcitationFlag(), and verboseLevel.
|
virtual |
|
private |
|
virtual |
Reimplemented from G4VEmModel.
Definition at line 278 of file G4MicroElecInelasticModel.cc.
References cm, cm2, density, 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 631 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 111 of file G4MicroElecInelasticModel.cc.
References G4LossTableManager::AtomDeexcitation(), cm, eDiffCrossSectionData, G4InuclParticleNames::electron, G4Electron::ElectronDefinition(), eTdummyVec, eV, eVecm, 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, G4InuclParticleNames::proton, G4Proton::ProtonDefinition(), pTdummyVec, pVecm, G4VEmModel::SetHighEnergyLimit(), G4VEmModel::SetLowEnergyLimit(), tableData, tableFile, and verboseLevel.
|
private |
Definition at line 727 of file G4MicroElecInelasticModel.cc.
References a.
Referenced by QuadInterpolator().
|
private |
|
private |
Definition at line 742 of file G4MicroElecInelasticModel.cc.
References LogLogInterpolate().
Referenced by DifferentialCrossSection().
|
private |
|
private |
Definition at line 525 of file G4MicroElecInelasticModel.cc.
References DifferentialCrossSection(), G4Electron::ElectronDefinition(), G4MicroElecSiStructure::Energy(), eV, G4UniformRand, G4Proton::ProtonDefinition(), and SiStructure.
Referenced by SampleSecondaries().
|
private |
Definition at line 757 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 389 of file G4MicroElecInelasticModel.cc.
References G4InuclSpecialFunctions::bindingEnergy(), G4Electron::Electron(), G4MicroElecSiStructure::Energy(), eV, 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(), RandomSelect(), G4VEmAngularDistribution::SampleDirectionForShell(), G4ParticleChangeForGamma::SetProposedKineticEnergy(), SiStructure, and verboseLevel.
|
private |
Definition at line 140 of file G4MicroElecInelasticModel.hh.
Referenced by DifferentialCrossSection(), and Initialise().
|
private |
Definition at line 142 of file G4MicroElecInelasticModel.hh.
Referenced by DifferentialCrossSection(), and Initialise().
|
private |
Definition at line 146 of file G4MicroElecInelasticModel.hh.
Referenced by DifferentialCrossSection(), Initialise(), and ~G4MicroElecInelasticModel().
|
private |
Definition at line 97 of file G4MicroElecInelasticModel.hh.
Referenced by Initialise(), and SampleSecondaries().
|
protected |
Definition at line 92 of file G4MicroElecInelasticModel.hh.
Referenced by G4MicroElecInelasticModel(), Initialise(), and SampleSecondaries().
Definition at line 102 of file G4MicroElecInelasticModel.hh.
Referenced by CrossSectionPerVolume(), Initialise(), and SampleSecondaries().
|
private |
Definition at line 104 of file G4MicroElecInelasticModel.hh.
Referenced by Initialise().
Definition at line 101 of file G4MicroElecInelasticModel.hh.
Referenced by CrossSectionPerVolume(), Initialise(), and SampleSecondaries().
|
private |
Definition at line 99 of file G4MicroElecInelasticModel.hh.
Referenced by CrossSectionPerVolume(), and G4MicroElecInelasticModel().
|
private |
Definition at line 141 of file G4MicroElecInelasticModel.hh.
Referenced by DifferentialCrossSection(), and Initialise().
|
private |
Definition at line 143 of file G4MicroElecInelasticModel.hh.
Referenced by DifferentialCrossSection(), and Initialise().
|
private |
Definition at line 147 of file G4MicroElecInelasticModel.hh.
Referenced by DifferentialCrossSection(), Initialise(), and ~G4MicroElecInelasticModel().
|
private |
Definition at line 117 of file G4MicroElecInelasticModel.hh.
Referenced by DifferentialCrossSection(), RandomizeEjectedElectronEnergy(), and SampleSecondaries().
|
private |
Definition at line 113 of file G4MicroElecInelasticModel.hh.
Referenced by CrossSectionPerVolume(), Initialise(), RandomSelect(), and ~G4MicroElecInelasticModel().
|
private |
Definition at line 110 of file G4MicroElecInelasticModel.hh.
Referenced by Initialise().
|
private |
Definition at line 105 of file G4MicroElecInelasticModel.hh.
Referenced by CrossSectionPerVolume(), G4MicroElecInelasticModel(), Initialise(), and SampleSecondaries().