29 #include "G4EmDNAPhysics_option5.hh" 70 #include "G4LivermorePhotoElectricModel.hh" 93 G4EmDNAPhysics_option5::G4EmDNAPhysics_option5(
G4int ver) :
102 G4EmDNAPhysics_option5::G4EmDNAPhysics_option5(
G4int ver,
const G4String&) :
111 G4EmDNAPhysics_option5::~G4EmDNAPhysics_option5()
117 void G4EmDNAPhysics_option5::ConstructParticle()
133 genericIonsManager->
GetIon(
"alpha++");
134 genericIonsManager->
GetIon(
"alpha+");
135 genericIonsManager->
GetIon(
"helium");
136 genericIonsManager->
GetIon(
"hydrogen");
142 void G4EmDNAPhysics_option5::ConstructProcess()
151 myParticleIterator->reset();
152 while( (*myParticleIterator)() )
157 if (particleName ==
"e-")
179 theDNAExcitationProcess->
SetEmModel(bornExc,1);
180 theDNAExcitationProcess->
AddEmModel(1, bornExc);
187 theDNAExcitationProcess->
AddEmModel(2, emExc);
197 bornIon->SetLowEnergyLimit(10*
keV);
198 bornIon->SetHighEnergyLimit(1.*
MeV);
199 bornIon->SetActivationLowEnergyLimit(10*
keV);
200 bornIon->SetActivationHighEnergyLimit(1.*
MeV);
202 theDNAIonisationProcess->
SetEmModel(bornIon,1);
203 bornIon->SelectFasterComputation(
true);
204 theDNAIonisationProcess->
AddEmModel(1,bornIon);
214 theDNAIonisationProcess->
SetEmModel(emIonModel,2);
216 theDNAIonisationProcess->
AddEmModel(2,emIonModel);
226 }
else if ( particleName ==
"proton" ) {
250 }
else if ( particleName ==
"hydrogen" ) {
261 }
else if ( particleName ==
"alpha" ) {
272 }
else if ( particleName ==
"alpha+" ) {
284 }
else if ( particleName ==
"helium" ) {
297 }
else if ( particleName ==
"GenericIon" ) {
307 else if (particleName ==
"e+") {
321 }
else if (particleName ==
"gamma") {
326 G4LivermorePhotoElectricModel* theLivermorePhotoElectricModel =
327 new G4LivermorePhotoElectricModel();
328 theLivermorePhotoElectricModel->SetHighEnergyLimit(LivermoreHighEnergyLimit);
329 thePhotoElectricEffect->
AddEmModel(0, theLivermorePhotoElectricModel);
336 theComptonScattering->
AddEmModel(0, theLivermoreComptonModel);
343 theGammaConversion->
AddEmModel(0, theLivermoreGammaConversionModel);
void SetActivationHighEnergyLimit(G4double)
static G4GenericIon * GenericIonDefinition()
#define G4DNABornIonisationModel
static G4LossTableManager * Instance()
void SetStepFunction(G4double v1, G4double v2)
G4VEmModel * EmModel(G4int index=1) const
G4DNABornExcitationModel1 G4DNABornExcitationModel
void SetHighEnergyLimit(G4double)
void SetEmModel(G4VEmModel *, G4int index=1)
const G4String & GetParticleName() const
const G4String & GetPhysicsName() const
G4GLOB_DLL std::ostream G4cout
G4bool RegisterProcess(G4VProcess *process, G4ParticleDefinition *particle)
static G4Proton * Proton()
static G4DNAGenericIonsManager * Instance(void)
G4_DECLARE_PHYSCONSTR_FACTORY(G4EmDNAPhysics_option5)
void SetActivationLowEnergyLimit(G4double)
static G4Positron * Positron()
void AddEmModel(G4int, G4VEmModel *, const G4Region *region=0)
static G4PhysicsListHelper * GetPhysicsListHelper()
static G4EmParameters * Instance()
void SelectFasterComputation(G4bool input)
static G4Electron * Electron()
G4ParticleTable::G4PTblDicIterator * GetParticleIterator() const
void SetLowEnergyLimit(G4double)
void SetAtomDeexcitation(G4VAtomDeexcitation *)
void SetPhysicsType(G4int)
void SetStepLimitType(G4MscStepLimitType val)
G4ParticleDefinition * GetIon(const G4String &name)