#include <G4eBremsstrahlung.hh>
Inheritance diagram for G4eBremsstrahlung:
Public Member Functions | |
G4eBremsstrahlung (const G4String &name="eBrem") | |
virtual | ~G4eBremsstrahlung () |
virtual G4bool | IsApplicable (const G4ParticleDefinition &p) |
virtual void | PrintInfo () |
Protected Member Functions | |
virtual void | InitialiseEnergyLossProcess (const G4ParticleDefinition *, const G4ParticleDefinition *) |
Protected Attributes | |
G4bool | isInitialised |
Definition at line 81 of file G4eBremsstrahlung.hh.
G4eBremsstrahlung::G4eBremsstrahlung | ( | const G4String & | name = "eBrem" |
) |
Definition at line 93 of file G4eBremsstrahlung.cc.
References fBremsstrahlung, G4Gamma::Gamma(), G4VEnergyLossProcess::SetIonisation(), G4VProcess::SetProcessSubType(), and G4VEnergyLossProcess::SetSecondaryParticle().
00093 : 00094 G4VEnergyLossProcess(name), 00095 isInitialised(false) 00096 { 00097 SetProcessSubType(fBremsstrahlung); 00098 SetSecondaryParticle(G4Gamma::Gamma()); 00099 SetIonisation(false); 00100 }
G4eBremsstrahlung::~G4eBremsstrahlung | ( | ) | [virtual] |
void G4eBremsstrahlung::InitialiseEnergyLossProcess | ( | const G4ParticleDefinition * | , | |
const G4ParticleDefinition * | ||||
) | [protected, virtual] |
Implements G4VEnergyLossProcess.
Reimplemented in G4ePolarizedBremsstrahlung.
Definition at line 117 of file G4eBremsstrahlung.cc.
References G4VEnergyLossProcess::AddEmModel(), G4LossTableManager::BremsstrahlungTh(), G4VEnergyLossProcess::EmModel(), G4LossTableManager::Instance(), isInitialised, G4LossTableManager::LPMFlag(), G4VEnergyLossProcess::MaxKinEnergy(), G4VEnergyLossProcess::MinKinEnergy(), G4VEnergyLossProcess::SetEmModel(), G4VEmModel::SetHighEnergyLimit(), G4VEmModel::SetLowEnergyLimit(), G4VEmModel::SetLPMFlag(), and G4VEmModel::SetSecondaryThreshold().
00119 { 00120 if(!isInitialised) { 00121 00122 // if (!EmModel(1)) { SetEmModel(new G4eBremsstrahlungModel(), 1); } 00123 if (!EmModel(1)) { SetEmModel(new G4SeltzerBergerModel(), 1); } 00124 if (!EmModel(2)) { SetEmModel(new G4eBremsstrahlungRelModel(), 2); } 00125 00126 G4double energyLimit = 1*GeV; 00127 00128 EmModel(1)->SetLowEnergyLimit(MinKinEnergy()); 00129 EmModel(1)->SetHighEnergyLimit(energyLimit); 00130 EmModel(2)->SetLowEnergyLimit(energyLimit); 00131 EmModel(2)->SetHighEnergyLimit(MaxKinEnergy()); 00132 00133 G4VEmFluctuationModel* fm = 0; 00134 AddEmModel(1, EmModel(1), fm); 00135 AddEmModel(2, EmModel(2), fm); 00136 isInitialised = true; 00137 } 00138 G4LossTableManager* man = G4LossTableManager::Instance(); 00139 G4double eth = man->BremsstrahlungTh(); 00140 EmModel(1)->SetSecondaryThreshold(eth); 00141 EmModel(2)->SetSecondaryThreshold(eth); 00142 00143 // Only high energy model LMP flag is ON/OFF 00144 EmModel(1)->SetLPMFlag(false); 00145 EmModel(2)->SetLPMFlag(man->LPMFlag()); 00146 }
G4bool G4eBremsstrahlung::IsApplicable | ( | const G4ParticleDefinition & | p | ) | [virtual] |
Implements G4VEnergyLossProcess.
Definition at line 109 of file G4eBremsstrahlung.cc.
References G4Electron::Electron(), and G4Positron::Positron().
00110 { 00111 return (&p == G4Electron::Electron() || &p == G4Positron::Positron()); 00112 }
void G4eBremsstrahlung::PrintInfo | ( | ) | [virtual] |
Implements G4VEnergyLossProcess.
Definition at line 150 of file G4eBremsstrahlung.cc.
References G4LossTableManager::BremsstrahlungTh(), DBL_MAX, G4VEnergyLossProcess::EmModel(), G4cout, G4endl, G4VEmModel::HighEnergyLimit(), G4LossTableManager::Instance(), and G4LossTableManager::LPMFlag().
00151 { 00152 if(EmModel(1)) { 00153 G4LossTableManager* man = G4LossTableManager::Instance(); 00154 G4double eth = man->BremsstrahlungTh(); 00155 G4cout << " LPM flag: " << man->LPMFlag() << " for E > " 00156 << EmModel(1)->HighEnergyLimit()/GeV << " GeV"; 00157 if(eth < DBL_MAX) { 00158 G4cout << ", HighEnergyThreshold(GeV)= " << eth/GeV; 00159 } 00160 G4cout << G4endl; 00161 } 00162 }
G4bool G4eBremsstrahlung::isInitialised [protected] |
Definition at line 100 of file G4eBremsstrahlung.hh.
Referenced by G4ePolarizedBremsstrahlung::InitialiseEnergyLossProcess(), and InitialiseEnergyLossProcess().