1 Physics I: Physics Lists Paris Geant4 Tutorial 4 June 2007 Marc Verderi Laboratoire Leprince-Ringuet (Heavily copied from D. Wright) Geant4 V8.3.

Slides:



Advertisements
Similar presentations
Geant4 v9.2p02 Speed up Makoto Asai (SLAC) Geant4 Tutorial Course.
Advertisements

Fundamental Forces of the Universe
Report from Low Background Experiments Geant4 Collaboration Workshop 10 September 2012 Dennis Wright (SLAC)
Hadronic and Electromagnetic Physics: special applications V.Ivanchenko BINP, Novosibirsk, Russia & CERN, Geneve, Switzerland.
Guided Tour of Geant4 Physics Lists II Geant4 Short Course at JPL 10 November 2006 Dennis Wright.
A Short Guide to Choosing Physics Lists Oak Ridge Geant4 Tutorial 11 March 2011 Dennis Wright Geant4 V9.4.
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13 th November 2002 LowE EM PartII 1 Low Energy Electromagnetic Physics PART II Alex Howard.
Alpha, Beta, and Gamma Decay
Nuclear Physics E = mc 2. Outline Theory of Special Relativity Postulates E = mc 2 The Atom What makes up the atom? What holds the atom together? Quantum.
A Short Guide to Choosing a Physics List Geant4 Tutorial at Marshall Space Flight Center 19 April 2012 Dennis Wright (SLAC) Geant4 9.5.
Physics III: Cuts, Decay and Optical Physics Geant4 Tutorial at Jefferson Lab 10 July 2012 Dennis Wright (SLAC) Geant4 9.6 beta.
Tabular Editors for Geant4 Geant4 Geometry Editor and Geant4 Physics Editor CHEP 2000 at Padova Hajime Yoshida Naruto University of Education.
Adding a new process CERN User’s Workshop 13 November 2002 V.Ivanchenko, CERN, Budker Institute for Nuclear Physics Based on presentation of M.Verderi.
Summary of Work Zhang Qiwei INFN - CIAE. Validation of Geant4 EM physics for gamma rays against the SANDIA, EPDL97 and NIST databases.
Tuesday, Nov 9th 9:30-12:30 –Visualization attributes –Physics processes 14:00-17:00 –Kinematics and event generation (from yesterday) Particle gun –Boolean.
Overview of Geant4 Physics 2 nd Finnish Geant4 Workshop 6-7 June 2005 Dennis Wright (SLAC)
Geant4 Electromagnetic Physics Introduction V.Ivanchenko, M.Maire, M.Verderi  Process interface  Physics categories  Electromagnetic physics  PhysicsList.
Subatomic Physics Chapter Properties of the Nucleus The nucleus is the small, dense core of an atom. Atoms that have the same atomic number but.
Physics I: Physics Lists Geant4 Tutorial at Jefferson Lab 10 July 2012 Dennis Wright (SLAC) Geant4 9.6 beta.
NEUTRON OPTICS & SHIELDING GROUP NATALIIA CHERKASHYNA TAP MEETING 23 RD OF JANUARY, 2014 Latest Developments on Shielding and Backgrounds.
Special Topics in Nuclear Physics, JU, Second Semester, (Saed Dababneh). 1 Course web or
Geant4 Physics List V.Ivanchenko Thanks to P.Gumplinger, M.Maire, H.P.Wellisch  General Physics  Electromagnetic Physics  Optical Photons  Hadronic.
Geant4 Event Biasing Marc Verderi, LLR (Heavily copied from Jane Tinslay, SLAC) June 2007.
Computing Performance Recommendations #13, #14. Recommendation #13 (1/3) We recommend providing a simple mechanism for users to turn off “irrelevant”
Hadronic Physics III Geant4 Tutorial at Jefferson Lab 11 July 2012 Dennis Wright (SLAC) Geant4 9.6 beta.
Alpha Decay A Helium- 4 nucleus (two protons and two neutrons). Is produced by nuclear fission Massive nucleus breaks apart into two less-massive nuclei.
17-19 Oct, 2007Geant4 Japan Oct, 2007Geant4 Japan Oct, 2007Geant4 Japan 2007 Geant4 Collaboration.
Hadronic Physics II Geant4 Users’ Tutorial CERN February 2010 Gunter Folger.
Aim: How can we explain the four fundamental forces and the standard model? Do Now: List all the subatomic particles that you can think of.
Physics processes in general SLAC User’s Workshop February 18 – Marc Verderi Ecole Polytechnique - LLR.
3-4 Changes in the Nucleus
CBM Software Meeting 1 CBM Simulation & Analysis Framework Geant3 / Gean4 configuration M. Al-Turany, D. Bertini.
V.Ivanchenko Salamanca1 Geant4: Hadronic Processes 1  Cross sections  Secondary generators  Nuclear interactions at rest  CHIPS model.
WORK Bo-Wen Shiou. GNUmakefile GNUmakefile XXX.cc (ex:try03.cc) XXX.cc (ex:try03.cc) include folder (xxx.hh) include folder (xxx.hh) src folder (xxx.cc)
V.Ivanchenko Salamanca1 Geant4: Electromagnetic Processes 1  Introduction  Interfaces  PhysicsList  Optical process.
Physics I: Physics Lists Puebla Geant4 Tutorial 15 June 2010 Dennis Wright Geant4 V9.3.p01.
Hadronic Physics III Geant4 Tutorial at Marshall Space Flight Center 19 April 2012 Dennis Wright (SLAC) Geant4 9.5.
NUCLEAR CHANGES What is Radioactivity?. What happens when an element undergoes radioactive decay? During radioactive decay an unstable nuclei of an isotope.
INTERACTIONS OF RADIATION WITH MATTER. twCshttp:// twCs
Maria Grazia Pia, INFN Genova and CERN1 Geant4 highlights of relevance for medical physics applications Maria Grazia Pia INFN Genova and CERN.
A Short Guide to Choosing Physics Lists Puebla Geant4 Tutorial 18 June 2010 Dennis Wright Geant4 V9.3.p01.
Luciano Pandola, INFN Gran Sasso Luciano Pandola INFN Gran Sasso Genova, July 18 th, 2005 Geant4 and the underground physics community.
Physics II : processes Paris Geant4 Tutorial 5 June 2007 Marc Verderi Ecole Polytechnique - LLR.
1 Exercises 0 Go inside the “hadrontherapy” directory: cd hadrontherapy Copy the Hadrontherapy example to your home folder: cp –r $G4INSTALL/examples/advanced/hadrontherapy.
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.
Alex Howard, CERN Slide 1 Simulating Dark Matter Detectors (a.k.a. DMX Underground Advanced Example) 1.Dark Matter detectors 2.Implementation within Geant4.
Makoto Asai.  Parallel layered mass geometry  Other minor improvement  G4Exception.
Geant4 KISTI Tutorial Marc Verderi LLR – Ecole polytechnique October 2012 Physics II: Overview, Processes, Production Threshold.
Makoto Asai.  In the past, material is considered only if it appears in the mass (tracking) world. The user might define parallel world(s) for artificial.
Electromagnetic and hadronic physics in Geant4
Physical Science Honors
Physics Lists Design.
The prototype for energy loss processes based on model approach
Fundamental Forces of the Universe
Fundamental Forces of the Universe
Physics III: Cuts, Decay and Optical Physics
Physics I: Physics Lists
Nuclear Chemistry.
A shortcut to the tracking
Hadronic Physics in Geant4
Geant4 physics validation: Bragg Peak
Low Energy Electromagnetic Physics PART II
The Hadrontherapy Geant4 advanced example
User Application
Marc Verderi GEANT4 collaboration meeting 01/10/2002
The full set of lecture notes of this Geant4 Course is available at
Based on a presentation of M.Verderi
The full set of lecture notes of this Geant4 Course is available at
The full set of lecture notes of this Geant4 Course is available at
Monte Carlo /12/25.
Presentation transcript:

1 Physics I: Physics Lists Paris Geant4 Tutorial 4 June 2007 Marc Verderi Laboratoire Leprince-Ringuet (Heavily copied from D. Wright) Geant4 V8.3

2 04/06/2016 Outline Introduction What is a physics list and why do we need one? The G4VUserPhysicsList class What you need to begin Modular physics lists A more sophisticated way to go Reference physics lists A word about…

3 Introduction

4 04/06/2016 What is a Physics List? A class which implements the configuration of the physics (modelling) of your application: Declare all the particles used The physics processes they undergo The production thresholds (some of these processes need one) This physics environment is built by the user in a flexible way: picking up the particles he wants picking up the physics to assign to each particle User must have a good understanding of the physics required omission of particles or physics could cause errors or poor simulation

5 04/06/2016 Why Do We Need a Physics List? “Physics is physics – shouldn't Geant4 provide, as a default, a complete set of physics that everyone can use?” No: Softwares can only capture Physics through a modelling No unique Physics modelling Very much the case for hadronic physics But also the electromagnetic physics Existing models still evolve and new models are created Some modellings are more suited to some energy ranges Medical applications not interested in multi-GeV physics in general HEP experiments not interested in effects due to atomic shell structure for example computation speed is an issue a user may want a less-detailed, but faster approximation

6 04/06/2016 Why Do We Need a Physics List? For this reason Geant4 takes an atomistic, rather than an integral approach to physics provide many physics components (processes) which are de-coupled from one another user selects these components in custom-designed physics lists Exceptions : a few electromagnetic processes must be used together future processes involving interference of electromagnetic and strong interactions may require coupling as well

7 04/06/2016 Physics Processes Provided by Geant4 EM physics “standard” processes valid from ~ 1 keV  ~ PeV “low-energy” valid from 250 eV  ~ PeV optical photons Weak physics decay of subatomic particles radioactive decay of nuclei Hadronic physics pure hadronic processes valid from 0  ~100 TeV Muon and gamma nuclear valid from 10 MeV  ~TeV Parameterized or “fast simulation” physics “glfash” model for EM showers

8 The G4VUserPhysicsList class The class which holds the physics configuration of your application: –Particles –Processes –Cuts (ie production thresholds)

9 04/06/2016 G4VUserPhysicsList All physics lists must derive from this class and then be registered to the run manager For example: class MyPhysicsList: public G4VUserPhysicsList { public: MyPhysicsList(); ~MyPhysicsList(); void ConstructParticle(); void ConstructProcess(); void SetCuts(); // … }; User must implement the methods ConstructParticle(), ConstructProcess() and SetCuts(). Base class methods overridden

10 04/06/2016 G4VUserPhysicsList : Required Methods ConstructParticle() : choose the particles you need in your simulation, define all of them here ConstructProcess() : for each particle, assign all the physics processes relevant to your simulation What's a process ? a class that defines how a particle should interact with matter, or decays it's where the physics is! more on this later SetCuts() : set the range cuts for secondary production What's a range cut ? a threshold on particle production Particle unable to travel at least the range cut value are not produced more on this later

11 04/06/2016 ConstructParticle() [1] Basic construction method: By manually invoking the particle definition methods #include “G4Electron.hh” #include “G4Proton.hh” … void MyPhysicsList::ConstructParticle() { G4Electron::ElectronDefinition(); G4Proton::ProtonDefinition(); G4Neutron::NeutronDefinition(); G4Gamma::GammaDefinition(); … }

12 04/06/2016 ConstructParticle() [2] By using utility classes: That make the individual calls for you: void MyPhysicsList::ConstructParticle() { G4BaryonConstructor* baryonConstructor = new G4BaryonConstructor(); baryonConstructor->ConstructParticle(); delete baryonConstructor; G4BosonConstructor* bosonConstructor = new G4BosonConstructor(); bosonConstructor->ConstructParticle(); delete bosonConstructor; … }

13 04/06/2016 ConstructProcess() void MyPhysicsList::ConstructProcess() { AddTransportation(); // Method provided by G4VUserPhysicsList // It assignes the transportation process to all // particles, with non-zero lifetime, defined // in ConstructParticle() ConstructEM(); // Method may be defined by user (for convenience) // Instantiate electromagnetic processes here ConstructGeneral(); // Method may be defined by user (for convenience) }

14 04/06/2016 ConstructEM() void MyPhysicsList::ConstructEM() { theParticleIterator->reset(); while( (*theParticleIterator)() ) { G4ParticleDefinition* particle = theParticleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); G4String particleName = particle->GetParticleName(); if (particleName == “gamma”){ pmanager->AddDiscreteProcess(new G4GammaConversion()); … } … }

15 04/06/2016 ConstructGeneral() void MyPhysicsList::ConstructGeneral() { // Add decay process G4Decay* theDecayProcess = new G4Decay(); theParticleIterator->reset(); while( (*theParticleIterator)() ) { G4ParticleDefinition* particle = theParticleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); if (theDecayProcess->IsApplicable(*particle) ) { pmanager->AddProcess(theDecayProcess); pmanager->SetProcessOrdering(theDecayProcess, idxPostStep); pmanager->SetProcessOrdering(theDecayProcess, idxAtRest); } Tell more about process ordering later

16 04/06/2016 SetCuts() void MyPhysicsList::SetCuts() { defaultCutValue = 1.0*mm; SetCutValue(defaultCutValue, “gamma”); SetCutValue(defaultCutValue, “e-”); SetCutValue(defaultCutValue, “e+”); // These are all the production cut // values you need to set // Not required for any other particle }

17 G4VModularPhysicsList Together with G4VPhysicsConstructor

18 04/06/2016 G4VModularPhysicsList Previous physics list was relatively simple A realistic physics list is likely to have many more physics processes Such a list can become quite long, complicated and hard to maintain Try a modular physics list instead Features of G4VModularPhysicsList derived from G4VUserPhysicsList AddTransportation() automatically called for all registered particles Allows you to define “physics modules”: EM physics, hadronic physics, optical physics, etc.

19 04/06/2016 A simple G4VModularPhysicsList Constructor: MyModPhysList::MyModPhysList(): G4VModularPhysicsList() { defaultCutValue = 1.0*mm; RegisterPhysics( new ProtonPhysics() ); // all physics processes having to do with protons RegisterPhysics( new ElectronPhysics() ); // all physics processes having to do with electrons RegisterPhysics( new DecayPhysics() ); // physics of unstable particles } Set Cuts: void MyModPhysList::SetCuts() { SetCutsWithDefault(); }

20 04/06/2016 Physics Constructors Allow you to group particle and process construction according to physics domains class ProtonPhysics : public G4VPhysicsConstructor { public: ProtonPhysics(const G4String& name = “proton”); virtual ~ProtonPhysics(); virtual void ConstructParticle(); // easy – only one particle to build in this case virtual void ConstructProcess(); // put here all the processes a proton can have }

21 Reference physics lists

22 04/06/2016 Reference Physics Lists Geant4 provides a set of “physics constructors” in: $G4INSTALL/source/physics_lists That are combined to build “reference physics lists” G4EmStandardPhysics G4Decay G4EmExtraPhysics –Eg: gamma-nuclear G4HadronElasticPhysics G4HadronInelasticPhysics G4StoppingPhysics –For particle at rest G4IonPhysics

23 04/06/2016 Summary All the particles, physics processes, and production cuts needed for an application must go into a physics list Two kinds of physics list classes are available for users to derive from G4VUserPhysicsList – for relatively simple physics lists G4VModularPhysicsList – for detailed physics lists A set of reference physics lists is provided by Geant4 Users are encouraged to use / start from these lists … and bring their expertise back from experience they get with these physics lists !