Presentation is loading. Please wait.

Presentation is loading. Please wait.

New approach of Geant4 Low Energy EM models (from version 9.3) Luciano Pandola INFN, Laboratori del Gran Sasso MaGe Joint Workshop, Munich, January 2010.

Similar presentations


Presentation on theme: "New approach of Geant4 Low Energy EM models (from version 9.3) Luciano Pandola INFN, Laboratori del Gran Sasso MaGe Joint Workshop, Munich, January 2010."— Presentation transcript:

1 New approach of Geant4 Low Energy EM models (from version 9.3) Luciano Pandola INFN, Laboratori del Gran Sasso MaGe Joint Workshop, Munich, January 2010

2 EM physics models in Geant4 Historically, two sets of Electromagnetic models available in Geant4, developed by two different working groups Standard models: HEP and other high energy applications Good at high energy (> 1 MeV), faster Low-energy models: medical, space and astroparticle applications More precise at low energy, more CPU required Two sets of them: “LowEnergy” (aka Livermore) and “Penelope” LowEnergy and Standard packages provide Geant4 processes (namely derived by G4VProcess ) to be used in user physics lists MaGe uses LowEnergy-Livermore physics as default, but possibility to use the Standard physics via /MG/processes/lowenergy false

3 Integration of EM models - 1 From version 9.3  coherent picture of EM interactions in Geant4, allowing for a multi-model approach for the same process (namely, more models for a given process, in different energy ranges) All Low Energy EM processes migrated to adopt the software design used for the Standard EM physics Only *one* process class available for each physics process (to be used in physics lists), but multiple models

4 Integration of EM models - 2 Make physics more transparent retrieve cross sections, mean free paths and stopping powers give the users the possibility to use the already-existing general purpose tools (e.g. G4EmCalculator ) easier to create new models, also allowing for cross section biasing By-product: a few existing bugs for LowEnergy processes automatically fixed Better coordination and reduction of duplication: common physics lists, where the best models for low and high energies are used common software design and validation effort CPU optimization

5 Software design - 1 A physical interaction or process is described by a process class (inherits from G4VEmProcess or G4VEnergyLossProcess, eventually by G4VProcess ) Naming scheme : « G4ProcessName » Eg. : « G4ComptonScattering » for photon Compton scattering Processes already existing: default models are the Standard ones (e.g. G4KleinNishinaCompton for G4ComptonScattering ) Same approach as for hadronic models (although it was not possible to use the very same design  in EM physics more difficult to decouple cross section from final state)

6 Software design - 2 A physical process can be simulated according to several models, each model being described by a model class (inherits from G4VEmModel ) Naming scheme : « G4ModelNameProcessNameModel » Eg. : « G4LivermoreComptonModel » for the Livermore Compton model myProcess->SetModel(myModel); use a single model myProcess->AddEmModel(order,myModel); use multiple models default model is always instantiated (with least priority). During the tracking it is used the model with highest priority among those applicable at that energy Models can be alternative and/or complementary on certain energy ranges

7 Software design - 3 Model classes take care to calculate: total cross section (cross section above threshold, for continuous processes) stopping power final state (kinematics, production of secondaries…) Old-style Low Energy processes (e.g. G4LowEnergyCompton ) presently kept for backwards-compatibility but they’re not going to be maintained, corrected or updated warning printed on the screen

8 Low-E models for  -rays ProcessModels Compton scattering G4ComptonScattering G4KleinNishinaCompton (*) G4PenelopeComptonModel G4LivermoreComptonModel G4LivermorePolarizedComptonModel Photoelectric effect G4PhotoElectricEffect G4PEEffectModel (*) G4PenelopePhotoElectricModel G4LivermorePhotoElectricModel Gamma conversion G4GammaConversion G4BetheHeitlerModel (*) G4PenelopeGammaConversionModel G4LivermoreGammaConversionModel Rayleigh scattering G4Rayleigh G4LivermoreRayleighModel (*) G4PenelopeRayleighModel G4LivermorePolarizedRayleighModel * = defaultDefault models in blue are from the Standard package

9 Low-E models for e ± ProcessModels IonisationG4eIonisation G4MollerBhabhaModel (*) G4PenelopeIonisationModel G4LivermoreIonisationModel (e - only) BremsstrahlungG4eBremsstrahlung G4eBremsstrahlungModel (< 1 GeV) (*) G4eBremsstrahlungRelModel (> 1 GeV) (*) G4PenelopeBremsstrahlungModel G4LivermoreBremsstrahlungModel (e - only) e + AnnihilationG4eplusAnnihilation G4eeToTwoGammaModel (*) G4PenelopeAnnihilationModel * = default Model to describe fluctuations in E loss is always G4UniversalFluctuation Default models in blue are from the Standard package (more models available in the Standard package)

10 Extract Physics - 1 Thanks to this software design, it is possible to use retrieve Physics quantities with a G4EmCalculator object also for the Low-Energy models, similarly to what was possible for the Standard ones Mean free path Stopping power Inverse mean free path (= <  N) Atomic cross section (for elements) Alternatively, one can invoke directly the methods from the model to dump physics quantities (  see next slide)

11 11 Extract Physics - 2 G4LivermoreIonisationModel* ion = new G4LivermoreIonisationModel(); G4DataVector dummy; ion->Initialise(G4Electron::ElectronDefinition,dummy); //Inverse mean free path (1/mfp) for  -ray emission above //the threshold tCut G4double xs1 = ion->CrossSectionPerVolume(material,electron,energy,tCut); //Integral stopping power (energy/length) for soft //ionisation below threshold G4double sp1 = ion->ComputeDEDXPerVolume(material,electron,energy,tCut);

12 How to migrate code - 1 Use Low-Energy models in the full energy range //1) Instantiate the process G4PhotoElectricEffect* thePhotoElectricEffect = new G4PhotoElectricEffect(); //2) Register the model to it thePhotoElectricEffect->SetModel(new G4LivermorePhotoElectricModel()); //3) Register process to the process manager //(as before) pmanager->AddDiscreteProcess(thePhotoElectricEffect);

13 How to migrate code - 2 Use Low-Energy models up to a certain energy E 0 (e.g. 1 GeV) and Standard models (default) for E>E 0 G4double LivermoreHighEnergyLimit = 1.0*GeV; //Instantiate process G4PhotoElectricEffect* thePhotoElectricEffect = new G4PhotoElectricEffect(); //Instantiate model and register energy limits G4LivermorePhotoElectricModel* theLModel = new G4LivermorePhotoElectricModel(); thePEPenelopeModel ->SetHighEnergyLimit(LivermoreHighEnergyLimit); // Add the model to those available for the process //(with priority) thePhotoElectricEffect->AddEmModel(0,thePELModel); // Register process to the manager pmanager->AddDiscreteProcess(thePhotoElectricEffect); LowE model has top priority over its own applicability energy range

14 MaGe migration - 1 The present version of MaGe will compile correctly against Geant4 9.3 Old energy models kept in the release but not going to be updated/debugged in the future They will be eventually removed A warning will be issued when MaGe is run and LowEnergy processes are instantiated ******************************************************** ********************************************************* The class G4LowEnergyCompton is NOT SUPPORTED ANYMORE. It will be REMOVED with the next major release of Geant4. Please consult: https://twiki.cern.ch/twiki/bin/view/Geant4/LoweProcesses https://twiki.cern.ch/twiki/bin/view/Geant4/LoweProcesses ******************************************************** *********************************************************

15 MaGe migration - 2 The migration to the new design of MGProcessesList.cc is quick and easy ConstructEM() and ConstructStdEM() methods can be merged in one  register models according to the flag useLowE Possible to have a more CPU-effective list, using LowEnergy below ~ 1 MeV and Standard above 1 MeV Room to use further alternative models (Penelope, High Energy), switchable at run-time... but if it is done, MaGe will *not* be backwards- compatible, i.e. it will work only with Geant4 9.3 decision to adopt 9.3 as reference Geant4 version for MaGe? I’d avoid pre-processor statements to compile only parts of the code according to the G4 version  add complications!

16 Conclusions From version 9.3 of Geant4, unique interface for all EM processes (Standard, LowEnergy, Penelope, etc.) Low-Energy processes migrated to the new design Allows a multi-model approach for the same process (performance optimization) Better integration, cross-check, more transparent to physics Old-style Low Energy process kept for compatibility, but not maintained/upgraded MaGe as it is now will compile against 9.3 (only warning on screen)  we’ll have to migrate anyway in the future will not work with old Geant4 versions if we decide to migrate the present physics list


Download ppt "New approach of Geant4 Low Energy EM models (from version 9.3) Luciano Pandola INFN, Laboratori del Gran Sasso MaGe Joint Workshop, Munich, January 2010."

Similar presentations


Ads by Google