38 #include "G4ProcessManager.hh" 39 #include "G4ParticleDefinition.hh" 40 #include "G4ParticleTable.hh" 41 #include "G4hMultipleScattering.hh" 42 #include "G4hIonisation.hh" 43 #include "G4ionIonisation.hh" 44 #include "G4hMultipleScattering.hh" 45 #include "G4StepLimiter.hh" 55 G4ParticleTable::G4PTblDicIterator* theParticleIterator = G4ParticleTable::GetParticleTable()->GetIterator();
56 theParticleIterator -> reset();
58 while( (*theParticleIterator)() )
60 G4ParticleDefinition* particle = theParticleIterator -> value();
61 G4ProcessManager* manager = particle -> GetProcessManager();
62 G4String particleName = particle -> GetParticleName();
63 G4double charge = particle -> GetPDGCharge();
65 if (particleName ==
"GenericIon")
67 G4ionIonisation* ionisation =
new G4ionIonisation();
68 G4VProcess* multipleScattering =
new G4hMultipleScattering();
69 manager -> AddProcess(multipleScattering, -1,1,1);
70 manager -> AddProcess(ionisation, -1,2,2);
71 manager -> AddProcess(
new G4StepLimiter(),-1,-1, 3);
75 if (( charge != 0. ) && particleName !=
"e+" && particleName !=
"mu+" &&
76 particleName !=
"e-" && particleName !=
"mu-" && particleName !=
"GenericIon")
78 if((!particle -> IsShortLived()) &&
79 (particle -> GetParticleName() !=
"chargedgeantino"))
81 G4hIonisation* ionisation =
new G4hIonisation();
82 G4VProcess* multipleScattering =
new G4hMultipleScattering();
83 manager -> AddProcess(multipleScattering, -1,1,1);
84 manager -> AddProcess(ionisation, -1,2,2);
85 manager -> AddProcess(
new G4StepLimiter(),-1,-1, 3);
HadrontherapyIonStandard(const G4String &name="ion-standard")
virtual void ConstructProcess()
virtual ~HadrontherapyIonStandard()