#include <G4DNAChargeIncrease.hh>
Inheritance diagram for G4DNAChargeIncrease:
Public Member Functions | |
G4DNAChargeIncrease (const G4String &processName="DNAChargeIncrease", G4ProcessType type=fElectromagnetic) | |
virtual | ~G4DNAChargeIncrease () |
virtual G4bool | IsApplicable (const G4ParticleDefinition &) |
virtual void | PrintInfo () |
Protected Member Functions | |
virtual void | InitialiseProcess (const G4ParticleDefinition *) |
Definition at line 41 of file G4DNAChargeIncrease.hh.
G4DNAChargeIncrease::G4DNAChargeIncrease | ( | const G4String & | processName = "DNAChargeIncrease" , |
|
G4ProcessType | type = fElectromagnetic | |||
) |
Definition at line 35 of file G4DNAChargeIncrease.cc.
References G4VProcess::SetProcessSubType().
00036 :G4VEmProcess (processName, type), 00037 isInitialised(false) 00038 { 00039 SetProcessSubType(57); 00040 }
G4DNAChargeIncrease::~G4DNAChargeIncrease | ( | ) | [virtual] |
void G4DNAChargeIncrease::InitialiseProcess | ( | const G4ParticleDefinition * | ) | [protected, virtual] |
Implements G4VEmProcess.
Definition at line 65 of file G4DNAChargeIncrease.cc.
References G4VEmProcess::AddEmModel(), G4VEmProcess::EmModel(), G4ParticleDefinition::GetParticleName(), G4VEmProcess::SetBuildTableFlag(), G4VEmProcess::SetEmModel(), G4VEmModel::SetHighEnergyLimit(), and G4VEmModel::SetLowEnergyLimit().
00066 { 00067 if(!isInitialised) 00068 { 00069 isInitialised = true; 00070 SetBuildTableFlag(false); 00071 00072 G4String name = p->GetParticleName(); 00073 00074 if( name == "hydrogen" ) 00075 { 00076 if(!EmModel()) SetEmModel(new G4DNADingfelderChargeIncreaseModel); 00077 EmModel()->SetLowEnergyLimit(100*eV); 00078 EmModel()->SetHighEnergyLimit(100*MeV); 00079 00080 AddEmModel(1, EmModel()); 00081 } 00082 00083 if( name =="alpha+" || name =="helium" ) 00084 { 00085 if(!EmModel()) SetEmModel(new G4DNADingfelderChargeIncreaseModel); 00086 EmModel()->SetLowEnergyLimit(1*keV); 00087 EmModel()->SetHighEnergyLimit(400*MeV); 00088 00089 AddEmModel(1, EmModel()); 00090 } 00091 00092 00093 } 00094 }
G4bool G4DNAChargeIncrease::IsApplicable | ( | const G4ParticleDefinition & | ) | [virtual] |
Implements G4VEmProcess.
Definition at line 49 of file G4DNAChargeIncrease.cc.
References G4DNAGenericIonsManager::GetIon(), and G4DNAGenericIonsManager::Instance().
00050 { 00051 00052 G4DNAGenericIonsManager *instance; 00053 instance = G4DNAGenericIonsManager::Instance(); 00054 00055 return 00056 ( 00057 &p == instance->GetIon("hydrogen") 00058 || &p == instance->GetIon("alpha+") 00059 || &p == instance->GetIon("helium") 00060 ); 00061 }
void G4DNAChargeIncrease::PrintInfo | ( | ) | [virtual] |
Implements G4VEmProcess.
Definition at line 98 of file G4DNAChargeIncrease.cc.
References G4VEmProcess::EmModel(), G4cout, G4endl, and G4VEmModel::GetName().
00099 { 00100 G4cout 00101 << " Total cross sections computed from " << EmModel()->GetName() << " model" 00102 << G4endl; 00103 }