Hi-tech nature

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
   

Example of how to use the G4hImpactIonisation process

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);
        }
     }
}

Last modified 4 Dec 2010, Maria Grazia Pia