Physics I: Physics Lists Geant4 Tutorial at Jefferson Lab 10 July 2012 Dennis Wright (SLAC) Geant4 9.6 beta.

Slides:



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

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.
14 User Documents and Examples I SLAC Geant4 Tutorial 3 November 2009 Dennis Wright Geant4 V9.2.p02.
Electromagnetic Physics I Joseph Perl SLAC National Accelerator Laboratory (strongly based on Michel Maire's slides) Geant4 v9.3.p01 Standard EM package.
Highlights of latest developments ESA/ESTEC Makoto Asai (SLAC)
14 Overview of Geant4 Examples 2 nd Finnish Geant4 Workshop 6-7 June 2005 Dennis Wright (SLAC)
14 User Documents and Examples II SLAC Geant4 Tutorial 17 May 2007 Dennis Wright Geant4 V8.3.
A Short Guide to Choosing Physics Lists Oak Ridge Geant4 Tutorial 11 March 2011 Dennis Wright Geant4 V9.4.
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.
14 Overview of Geant4 Examples Geant4 Tutorial 8-10 March 2004 Dennis Wright (SLAC)
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.
St. Petersburg State University. Department of Physics. Division of Computational Physics. COMPUTER SIMULATION OF CURRENT PRODUCED BY PULSE OF HARD RADIATION.
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)
User Documents and Examples I Sébastien Incerti Slides thanks to Dennis Wrigth, SLAC.
Geant4 Electromagnetic Physics Introduction V.Ivanchenko, M.Maire, M.Verderi  Process interface  Physics categories  Electromagnetic physics  PhysicsList.
User Documents and Examples II Geant4 Tutorial at Marshall Space Flight Center 18 April 2012 Dennis Wright (SLAC) Geant4 V9.5.
Geant4 Physics List V.Ivanchenko Thanks to P.Gumplinger, M.Maire, H.P.Wellisch  General Physics  Electromagnetic Physics  Optical Photons  Hadronic.
1 Physics I: Physics Lists Paris Geant4 Tutorial 4 June 2007 Marc Verderi Laboratoire Leprince-Ringuet (Heavily copied from D. Wright) Geant4 V8.3.
Computing Performance Recommendations #13, #14. Recommendation #13 (1/3) We recommend providing a simple mechanism for users to turn off “irrelevant”
proton mass, m p = x kg = u neutron mass, m n = x kg = u electron mass, m e = x 10.
1 Status and Plans for Geant4 Physics Linear Collider Simulation Workshop III 2-5 June 2004 Dennis Wright (SLAC)
17-19 Oct, 2007Geant4 Japan Oct, 2007Geant4 Japan Oct, 2007Geant4 Japan 2007 Geant4 Collaboration.
Physics processes in general SLAC User’s Workshop February 18 – Marc Verderi Ecole Polytechnique - LLR.
Topic 7.2 The ABC’s of Radioactivity
Geant4 Training 2006 Short Course Katsuya Amako (KEK) Gabriele Cosmo (CERN) Susanna Guatelli (INFN Genova) Aatos Heikkinen (Helsinki Institute of Physics)
May 20, 2005Wah-kai Ngai1 Basic Visualization Tutorial Using Geant4.
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.
Geant4 release 5.1 summary Gabriele Cosmo EP/SFT.
Physics 12 Nuclear Physics 3 – Radio Activity Mr. Jean.
Geant4 Training 2004 Short Course Katsuya Amako (KEK) Gabriele Cosmo (CERN) Giuseppe Daquino (CERN) Susanna Guatelli (INFN Genova) Aatos Heikkinen (Helsinki.
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.
Chapter 14 Section 14.1.
Energy Loss Simulation for the CDF Run II W Mass Measurement Tom Riddick University College London.
Physics II : processes Paris Geant4 Tutorial 5 June 2007 Marc Verderi Ecole Polytechnique - LLR.
Report from the Geant4 Radioactive Decay Mini-workshop on 3-4 March 2015 Dennis Wright 25 March 2015.
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.
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.
Geant4 for (Medical) Education “ Geant4 for (Medical) Education ” Toolkit and Courseware Geant4 Medical Workshop in Lyon 21 July 2006 Universite-Lyon I.
Electromagnetic and hadronic physics in Geant4
Physical Science Honors
Physics Lists Design.
Testbeams for Simulation
User Documents and Examples I
proton mass, mp neutron mass, mn electron mass, me
G.A.P.Cirrone, S.E.Mazzaglia - INFN/LNS, Italy
Physics I: Physics Lists
Particle physics.
A shortcut to the tracking
Hadronic Physics in Geant4
Short Course Siena, 5-6 October 2006
The Hadrontherapy Geant4 advanced example
Short Course IEEE NSS/MIC 2003 Katsuya Amako (KEK) Makoto Asai (SLAC)
Marc Verderi GEANT4 collaboration meeting 01/10/2002
The full set of lecture notes of this Geant4 Course is available at
The Geant4 Hadrontherapy Advanced Example
Monte Carlo /12/25.
Presentation transcript:

Physics I: Physics Lists Geant4 Tutorial at Jefferson Lab 10 July 2012 Dennis Wright (SLAC) Geant4 9.6 beta

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 Pre-packaged physics lists 2

What is a Physics List? A class which collects all the particles, physics processes and production thresholds needed for your application It tells the run manager how and when to invoke physics It is a very flexible way to build a physics environment – user can pick the particles he wants – user can pick the physics to assign to each particle But, user must have a good understanding of the physics required – omission of particles or physics could cause errors or poor simulation 3

Why Do We Need a Physics List? Physics is physics – shouldn’t Geant4 provide, as a default, a complete set of physics processes that everyone can use? No: – there are many different physics models and approximations – very much the case for hadronic physics – but also true for electromagnetic physics – computation speed is an issue – a user may want a less-detailed, but faster approximation – no application requires all the physics and particles that Geant4 has to offer – e.g., most medical applications do not want multi-GeV physics 4

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 decoupled from one another (for the most part) – user selects these components in custom-designed physics lists in much the same way as a detector geometry is built Exceptions – a few electromagnetic processes must be used together – future processes involving interference of electromagnetic and strong interactions may require coupling as well 5

Physics Processes Provided by Geant4 EM physics – “standard” processes valid from ~ 1 keV to ~PeV – “low energy” valid from 250 eV to ~PeV – optical photons Weak interaction physics – decay of subatomic particles – radioactive decay of nuclei Hadronic physics – pure strong interaction physics valid from 0 to ~TeV – electro- and gamma-nuclear valid from 10 MeV to ~TeV Parameterized or “fast simulation” physics 6

G4VUserPhysicsList All physics lists must derive from this class – and then be registered with the run manager Example: class BeamTestPhysicsList: public G4VUserPhysicsList { public: BeamTestPhysicsList(); ~BeamTestPhysicsList(); void ConstructParticle(); void ConstructProcess(); void SetCuts(); } User must implement the methods ConstructParticle, ConstructProcess and SetCuts 7

G4VUserPhysicsList: Required Methods ConstructParticle() – choose the particles you need in your simulation and define them all here ConstructProcess() – for each particle, assign all the physics processes important in your simulation What’s a process?  a class that defines how a particle should interact with matter (it’s where the physics is!) more on this later SetCuts() – set the range cuts for secondary production – What’s a range cut? –  essentially a low energy limit on particle production – more on this later 8

ConstructParticle() void BeamTestPhysicsList::ConstructParticle() { G4BaryonConstructor* baryonConstructor = new G4BaryonConstructor(); baryonConstructor->ConstructParticle(); delete baryonConstructor; G4BosonConstructor* bosonConstructor = new G4BosonConstructor(); bosonConstructor->ConstructParticle(); delete bosonConstructor; … } 9

ConstructParticle() (alternate) void BeamTestPhysicsList::ConstructParticle() { G4Electron::ElectronDefinition(); G4Proton::ProtonDefinition(); G4Neutron::NeutronDefinition(); G4Gamma::GammaDefinition(); … } 10

ConstructProcess() void BeamTestPhysicsList::ConstructProcess() { AddTransportation(); // method provided by G4VUserPhysicsList assigns transportation // process to all particles defined in ConstructParticle() ConstructEM(); // method may be defined by user (for convenience) // put electromagnetic physics here ConstructGeneral(); // method may be defined by user to hold all other processes } 11

ConstructEM() void BeamTestPhysicsList::ConstructEM() { G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper(); theParticleIterator->reset(); while( (*theParticleIterator)() ) { G4ParticleDefinition* particle = theParticleIterator->value(); if (particle == G4Gamma::Gamma() ) { ph->RegisterProcess(new G4GammaConversion(), particle); …. // add more processes } … // do electrons, positrons, etc. } ConstructGeneral(); // method may be defined by user to hold all other processes } 12

ConstructGeneral() void BeamTestPhysicsList::ConstructGeneral() { G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper(); // Add decay process G4Decay* theDecayProcess = new G4Decay(); theParticleIterator->reset(); while( (*theParticleIterator)() ) { G4ParticleDefinition* particle = theParticleIterator->value(); if (theDecayProcess->IsApplicable(*particle) ) { ph->RegisterProcess(theDecayProcess, particle); } // Add other physics ConstructGeneral(); // method may be defined by user to hold all other processes } 13

SetCuts() void BeamTestPhysicsList::SetCuts() { defaultCutValue = 0.7*mm; SetCutValue(defaultCutValue, “gamma”); SetCutValue(defaultCutValue, “e-”); SetCutValue(defaultCutValue, “e+”); SetCutValue(defaultCutValue, “proton”); // // These are all the production cuts you need to set // - not required for any other particle } ConstructGeneral(); // method may be defined by user to hold all other processes } 14

G4VModularPhysicsList The physics list in our example is quite 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. ConstructGeneral(); // method may be defined by user to hold all other processes } 15

A Simple G4VModularPhysicsList Constructor: MyModPhysList::MyModPhysList(): G4VModularPhysicsList() { defaultCutValue = 0.7*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 } SetCuts: void MyModPhysList::SetCuts() { SetCutsWithDefault(); } ConstructGeneral(); // method may be defined by user to hold all other processes } 16

Physics Constructors Allows 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 } ConstructGeneral(); // method may be defined by user to hold all other processes } 17

Pre-packaged Physics Lists Our example dealt mainly with electromagnetic physics A complete and realistic EM physics list can be found in novice example N03 – a good starting point – add to it according to your needs Adding hadronic physics is more involved – for any one hadronic process, user may choose from several hadronic models – choosing the right models for your application requires care – to make things easier, pre-packaged physics lists are provided according to some reference use cases ConstructGeneral(); // method may be defined by user to hold all other processes } 18

Pre-packaged Physics Lists Each pre-packaged physics list includes different choices of EM and hadronic physics These can be found on the Geant4 web page at geant4.cern.ch/support/proc_mod_catalog/physics_lists/physicsLi sts.shtml Caveats – these lists are provided as a “best guess” of the physics needed in a given use case – the user is responsible for validating the physics for his own application and adding (or subtracting) the appropriate physics – they are intended as starting points or templates ConstructGeneral(); // method may be defined by user to hold all other processes } 19

Reference Physics Lists Among the pre-packaged physics lists are the “Reference” physics lists – a small number of well-maintained and tested physics lists – also the most used (ATLAS, CMS, etc.) and most recommended These are updated less frequently – more stable More on these, and which ones we recommend, later ConstructGeneral(); // method may be defined by user to hold all other processes } 20

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 Some pre-packaged physics lists are provided by Geant4 as a starting point for users – electromagnetic physics lists – electromagnetic + hadronic physics lists Care is required by user in choosing the right physics to use ConstructGeneral(); // method may be defined by user to hold all other processes } 21