#include <G4DNAChargeDecrease.hh>
Inheritance diagram for G4DNAChargeDecrease:
Public Member Functions | |
G4DNAChargeDecrease (const G4String &processName="DNAChargeDecrease", G4ProcessType type=fElectromagnetic) | |
virtual | ~G4DNAChargeDecrease () |
virtual G4bool | IsApplicable (const G4ParticleDefinition &) |
virtual void | PrintInfo () |
Protected Member Functions | |
virtual void | InitialiseProcess (const G4ParticleDefinition *) |
Definition at line 43 of file G4DNAChargeDecrease.hh.
G4DNAChargeDecrease::G4DNAChargeDecrease | ( | const G4String & | processName = "DNAChargeDecrease" , |
|
G4ProcessType | type = fElectromagnetic | |||
) |
Definition at line 35 of file G4DNAChargeDecrease.cc.
References G4VProcess::SetProcessSubType().
00036 :G4VEmProcess (processName, type), 00037 isInitialised(false) 00038 { 00039 SetProcessSubType(56); 00040 }
G4DNAChargeDecrease::~G4DNAChargeDecrease | ( | ) | [virtual] |
void G4DNAChargeDecrease::InitialiseProcess | ( | const G4ParticleDefinition * | ) | [protected, virtual] |
Implements G4VEmProcess.
Definition at line 65 of file G4DNAChargeDecrease.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 == "proton" ) 00075 { 00076 if(!EmModel()) SetEmModel(new G4DNADingfelderChargeDecreaseModel); 00077 EmModel()->SetLowEnergyLimit(100*eV); 00078 EmModel()->SetHighEnergyLimit(100*MeV); 00079 00080 AddEmModel(1, EmModel()); 00081 } 00082 00083 if( name == "alpha" || name == "alpha+" ) 00084 { 00085 if(!EmModel()) SetEmModel(new G4DNADingfelderChargeDecreaseModel); 00086 EmModel()->SetLowEnergyLimit(1*keV); 00087 EmModel()->SetHighEnergyLimit(400*MeV); 00088 00089 AddEmModel(1, EmModel()); 00090 } 00091 00092 } 00093 }
G4bool G4DNAChargeDecrease::IsApplicable | ( | const G4ParticleDefinition & | ) | [virtual] |
Implements G4VEmProcess.
Definition at line 49 of file G4DNAChargeDecrease.cc.
References G4DNAGenericIonsManager::GetIon(), G4DNAGenericIonsManager::Instance(), and G4Proton::ProtonDefinition().
00050 { 00051 00052 G4DNAGenericIonsManager *instance; 00053 instance = G4DNAGenericIonsManager::Instance(); 00054 00055 return 00056 ( 00057 &p == G4Proton::ProtonDefinition() 00058 || &p == instance->GetIon("alpha++") 00059 || &p == instance->GetIon("alpha+") 00060 ); 00061 }
void G4DNAChargeDecrease::PrintInfo | ( | ) | [virtual] |
Implements G4VEmProcess.
Definition at line 97 of file G4DNAChargeDecrease.cc.
References G4VEmProcess::EmModel(), G4cout, G4endl, and G4VEmModel::GetName().
00098 { 00099 G4cout 00100 << " Total cross sections computed from " << EmModel()->GetName() << " model" 00101 << G4endl; 00102 }