![]() |
PIXE simulation with Geant4 |
||
Reference:
M. G. Pia, G. Weidenspointner, M. Augelli, L. Quintieri, P. Saracco, M. Sudhakar, A. Zoglauer, PIXE simulation with Geant4 IEEE Trans. Nucl. Sci., vol. 56, no. 6, pp. 3614-3649, Dec. 2009 |
An example of how to use this process is shown below. A more extensive example is available in the eRosita Geant4 example span (in examples/advanced/eRosita).
#include "G4hImpactIonisation.hh" [...] void eRositaPhysicsList::ConstructProcess() { [...] theParticleIterator->reset(); while( (*theParticleIterator)() ) { G4ParticleDefinition* particle = theParticleIterator->value(); G4ProcessManager* processManager = particle->GetProcessManager(); G4String particleName = particle->GetParticleName(); if (particleName == "proton") { // Instantiate the G4hImpactIonisation process G4hImpactIonisation* hIonisation = new G4hImpactIonisation(); // Select the cross section models to be applied for K, L and M shell vacancy creation // (here the ECPSSR model is selected for K, L and M shell; one can mix and match // different models for each shell) hIonisation->SetPixeCrossSectionK("ecpssr"); hIonisation->SetPixeCrossSectionL("ecpssr"); hIonisation->SetPixeCrossSectionM("ecpssr"); // Register the process with the processManager associated with protons processManager -> AddProcess(hIonisation, -1, 2, 2); } } }