Geant4
10.01.p02
|
#include <G4MicroElecElasticModel.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 | Theta (G4ParticleDefinition *aParticleDefinition, G4double k, G4double integrDiff) |
G4double | LinLinInterpolate (G4double e1, G4double e2, G4double e, G4double xs1, G4double xs2) |
G4double | LogLogInterpolate (G4double e1, G4double e2, G4double e, G4double xs1, G4double xs2) |
G4double | LinLogInterpolate (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) |
G4double | RandomizeCosTheta (G4double k) |
G4MicroElecElasticModel & | operator= (const G4MicroElecElasticModel &right) |
G4MicroElecElasticModel (const G4MicroElecElasticModel &) | |
Private Attributes | |
G4Material * | nistSi |
G4double | killBelowEnergy |
G4double | lowEnergyLimit |
G4double | lowEnergyLimitOfModel |
G4double | highEnergyLimit |
G4bool | isInitialised |
G4int | verboseLevel |
MapFile | tableFile |
MapData | tableData |
TriDimensionMap | eDiffCrossSectionData |
std::vector< double > | eTdummyVec |
VecMap | eVecm |
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 51 of file G4MicroElecElasticModel.hh.
|
private |
Definition at line 97 of file G4MicroElecElasticModel.hh.
|
private |
Definition at line 94 of file G4MicroElecElasticModel.hh.
|
private |
Definition at line 123 of file G4MicroElecElasticModel.hh.
|
private |
Definition at line 128 of file G4MicroElecElasticModel.hh.
G4MicroElecElasticModel::G4MicroElecElasticModel | ( | const G4ParticleDefinition * | p = 0 , |
const G4String & | nam = "MicroElecElasticModel" |
||
) |
Definition at line 48 of file G4MicroElecElasticModel.cc.
References eV, G4NistManager::FindOrBuildMaterial(), fParticleChangeForGamma, G4cout, G4endl, highEnergyLimit, G4NistManager::Instance(), killBelowEnergy, lowEnergyLimit, lowEnergyLimitOfModel, MeV, nistSi, G4VEmModel::SetHighEnergyLimit(), G4VEmModel::SetLowEnergyLimit(), and verboseLevel.
|
virtual |
Definition at line 82 of file G4MicroElecElasticModel.cc.
|
private |
|
virtual |
Reimplemented from G4VEmModel.
Definition at line 215 of file G4MicroElecElasticModel.cc.
References cm, DBL_MAX, density, eV, FatalException, G4MicroElecCrossSectionDataSet::FindValue(), G4cout, G4endl, G4Exception(), G4Material::GetBaseMaterial(), G4ParticleDefinition::GetParticleName(), G4Material::GetTotNbOfAtomsPerVolume(), highEnergyLimit, killBelowEnergy, nistSi, pos, tableData, and verboseLevel.
|
inline |
Definition at line 76 of file G4MicroElecElasticModel.hh.
References killBelowEnergy.
|
virtual |
Implements G4VEmModel.
Definition at line 101 of file G4MicroElecElasticModel.cc.
References cm, eDiffCrossSectionData, G4InuclParticleNames::electron, G4Electron::ElectronDefinition(), eTdummyVec, eV, eVecm, FatalException, fParticleChangeForGamma, G4cout, G4endl, G4Exception(), G4VEmModel::GetParticleChangeForGamma(), G4ParticleDefinition::GetParticleName(), highEnergyLimit, G4VEmModel::HighEnergyLimit(), isInitialised, G4MicroElecCrossSectionDataSet::LoadData(), lowEnergyLimit, G4VEmModel::LowEnergyLimit(), MeV, G4VEmModel::SetHighEnergyLimit(), G4VEmModel::SetLowEnergyLimit(), tableData, tableFile, and verboseLevel.
|
private |
Definition at line 387 of file G4MicroElecElasticModel.cc.
Referenced by QuadInterpolator().
|
private |
Definition at line 373 of file G4MicroElecElasticModel.cc.
|
private |
Definition at line 401 of file G4MicroElecElasticModel.cc.
References a.
|
private |
|
private |
Definition at line 416 of file G4MicroElecElasticModel.cc.
References LinLinInterpolate().
Definition at line 446 of file G4MicroElecElasticModel.cc.
References G4Electron::ElectronDefinition(), eV, G4UniformRand, G4INCL::Math::pi, and Theta().
Referenced by SampleSecondaries().
|
virtual |
Implements G4VEmModel.
Definition at line 271 of file G4MicroElecElasticModel.cc.
References fParticleChangeForGamma, fStopAndKill, G4cout, G4endl, G4UniformRand, G4DynamicParticle::GetKineticEnergy(), G4DynamicParticle::GetMomentumDirection(), highEnergyLimit, killBelowEnergy, G4INCL::Math::pi, G4VParticleChange::ProposeLocalEnergyDeposit(), G4ParticleChangeForGamma::ProposeMomentumDirection(), G4VParticleChange::ProposeTrackStatus(), RandomizeCosTheta(), G4ParticleChangeForGamma::SetProposedKineticEnergy(), and verboseLevel.
|
inline |
Definition at line 140 of file G4MicroElecElasticModel.hh.
References eV, G4Exception(), JustWarning, and killBelowEnergy.
|
private |
Definition at line 318 of file G4MicroElecElasticModel.cc.
References G4Electron::ElectronDefinition().
Referenced by RandomizeCosTheta().
|
private |
Definition at line 125 of file G4MicroElecElasticModel.hh.
Referenced by Initialise().
|
private |
Definition at line 126 of file G4MicroElecElasticModel.hh.
Referenced by Initialise().
|
private |
Definition at line 129 of file G4MicroElecElasticModel.hh.
Referenced by Initialise(), and ~G4MicroElecElasticModel().
|
protected |
Definition at line 80 of file G4MicroElecElasticModel.hh.
Referenced by G4MicroElecElasticModel(), Initialise(), and SampleSecondaries().
|
private |
Definition at line 88 of file G4MicroElecElasticModel.hh.
Referenced by CrossSectionPerVolume(), G4MicroElecElasticModel(), Initialise(), and SampleSecondaries().
|
private |
Definition at line 89 of file G4MicroElecElasticModel.hh.
Referenced by Initialise().
|
private |
Definition at line 85 of file G4MicroElecElasticModel.hh.
Referenced by CrossSectionPerVolume(), G4MicroElecElasticModel(), GetKillBelowThreshold(), SampleSecondaries(), and SetKillBelowThreshold().
|
private |
Definition at line 86 of file G4MicroElecElasticModel.hh.
Referenced by G4MicroElecElasticModel(), and Initialise().
|
private |
Definition at line 87 of file G4MicroElecElasticModel.hh.
Referenced by G4MicroElecElasticModel().
|
private |
Definition at line 84 of file G4MicroElecElasticModel.hh.
Referenced by CrossSectionPerVolume(), and G4MicroElecElasticModel().
|
private |
Definition at line 98 of file G4MicroElecElasticModel.hh.
Referenced by CrossSectionPerVolume(), Initialise(), and ~G4MicroElecElasticModel().
|
private |
Definition at line 95 of file G4MicroElecElasticModel.hh.
Referenced by Initialise().
|
private |
Definition at line 90 of file G4MicroElecElasticModel.hh.
Referenced by CrossSectionPerVolume(), G4MicroElecElasticModel(), Initialise(), and SampleSecondaries().