Geant4 Training 2003 Primary Particle Generation The full set of lecture notes of this Geant4 Course is available at

Slides:



Advertisements
Similar presentations
Primary Particle KOI, Tatsumi Geant4 V9.4 Geant4 Tutorial at Texas A&M 11-Jan
Advertisements

山下智弘 JST CREST/ 神戸大学 Borrowing especially from presentations of M. Asai(SLAC) Geant4 Japan Oct, RCNS, based on Geant4 9.0.p01.
Other GEANT4 capabilities Event biasing Parameterisation (fast simulation) Persistency Parallelisation and integration in a distributed computing environment.
Geant4 v9.2p02 Particle Gun Makoto Asai (SLAC) Geant4 Tutorial Course.
Geant4 v9.2p02 Primary Particle Makoto Asai (SLAC) Geant4 Tutorial Course.
Primary particle generation Makoto Asai (SLAC) Geant4 Users CERN Nov. 12 th, 2002.
Makoto Asai (SLAC) Geant4 Users SLAC Feb. 18 th, 2002 Getting Started.
Event Generators Norman Graf (SLAC) May 20, 2003 May 20, 2003.
25/03/2003Simulation Application for the LHCb Experiment CHEP March 2003 Presented by: W. Pokorski / CERN Authors: I. Belyaev, Ph. Charpentier,
Primary particle generation Makoto Asai (SLAC) Geant4 Users SLAC Feb. 18 th, 2002.
Makoto Asai (SLAC) Geant4 Users CERN Nov. 15 th, 2002 Customizing Run Management.
Geant4 v9.4 Primary Particle Makoto Asai (SLAC) Geant4 Tutorial Course.
Makoto Asai (SLAC) Geant4 Users CERN Nov. 11 th, 2002 Getting Started.
Makoto Asai (SLAC) Geant4 Users SLAC Feb. 18 th, 2002 Getting Started.
Geant4 v9.3p01 Primary Particle Makoto Asai (SLAC) Geant4 Tutorial Course.
Makoto Asai (SLAC) Geant4 Users SLAC Feb. 20th, 2002 Stack management, Digitization and Pile-up.
Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.
Primary particle generation Makoto Asai (SLAC) Geant4 Users SLAC Feb. 18 th, 2002.
Makoto Asai (SLAC) Geant4 Users CERN Nov. 13th, 2002 Stack management, Digitization and Pile-up.
1 Geant4 Physics Based Event Biasing Jane Tinslay, SLAC March 2007, Geant4 v8.2p01.
Primary Particle Makoto Asai (SLAC) Geant4 Tutorial Course Geant4 v8.2p01.
Introduction to Geant4 Makoto Asai (SLAC) Geant4 Tutorial Course the 2nd Finnish Geant4 Workshop June , Helsinki Institute of Physics June 2005,
A stable interface to read and write IAEA phase-space files in Geant4 M. A. Cortés-Giraldo 1, R. Capote 2, J. M. Quesada 1 1 Dep. Física Atómica, Molecular.
Introduction to Geant4 Makoto Asai (SLAC Computing Services) Geant4 Tutorial Course February 2004, Geant4 v6.0p01.
Primary particle Geant4 tutorial Paris, 4-8 June 2007 Giovanni Santin ESA / ESTEC Rhea System SA With material from previous tutorials by Makoto Asai.
Tuesday, Nov 9th 9:30-12:30 –Visualization attributes –Physics processes 14:00-17:00 –Kinematics and event generation (from yesterday) Particle gun –Boolean.
1 Primary particles Geant4 User's Tutorial CERN, February 2010 Talk from previous tutorial by Giovanni Santin Ecole Geant4, Annecy 2008.
Geant4 Training 2003 Basic structure of the Geant4 Simulation Toolkit The full set of lecture notes of this Geant4 Course is available.
Event Generator Event Generators Information needed Event Generator Information Event Kinematic Information Generated Event Structure – generated particles.
S. Guatelli, M.G Pia, INFN Genova G. Cosmo, S. Guatelli, M.G Pia Salamanca, July 2002
Basic Structure of the Geant4 Simulation Toolkit
Primary particle Giovanni Santin ESA / ESTEC and RheaTech Ltd On behalf of the Geant4 collaboration Ecole Geant4 Annecy, and Nov 2008 With.
Geant4 Event Biasing Marc Verderi, LLR (Heavily copied from Jane Tinslay, SLAC) June 2007.
G4NuclideTable Koi, Tatsumi EPP SLAC National Accelerator Laboratory 1 Geant4 Radioactive decay mini workshop.
Monte Carlo /12/07. What is Geant ? Monte Carlo simulation tool for nuclear and particle physics Set up detectors –Sensitive detector which returns.
User Application Toolkit + User application toolkit Geant4 is a toolkit –i.e. you cannot “run” it out of the box –You must write.
17-19 Oct, 2007Geant4 Japan Oct, 2007Geant4 Japan Oct, 2007Geant4 Japan 2007 Geant4 Collaboration.
Geant4 internal Classes and Objects Geant4 Users’ Tutorial February 2010 Gunter Folger / CERN User Action & Information Classes.
Generating Primary Particles Each Geant4 Event starts with generation of one or multiple primary particles It is up to the user to define primary particle.
Spacecraft Environment & Protection Group GEANT4 Workshop, Noordwijk, Sep 1999 Radioactive Decay Process and Data P Truscott and F Lei Space Department.
G4GeneralParticleSource Class: Developed by ESA as the space radiation environment is often quite complex in energy and angular distribution, and requires.
Maria Grazia Pia INFN Genova Salamanca, July 2002
CBM Software Meeting 1 CBM Simulation & Analysis Framework Geant3 / Gean4 configuration M. Al-Turany, D. Bertini.
Basics of Primary Particle Generation and Tracking Makoto Asai (SLAC) Geant4 Tutorial CERN May 25-27, 2005 May 2005, Geant4 v7.0p01.
Run and Event G4Run and G4RunManager In Geant4, the Run is the largest unit of simulation and it consist of a series of events Within a Run, the detector.
Geant4 Training 2006 Short Course Katsuya Amako (KEK) Gabriele Cosmo (CERN) Susanna Guatelli (INFN Genova) Aatos Heikkinen (Helsinki Institute of Physics)
STAR STAR MC Filter V. Perevoztchikov Brookhaven National Laboratory,USA.
Makoto Asai (SLAC) Getting Started MGP: added class diagram of basic user application.
Introduction to Geant4 Makoto Asai (SLAC) Geant4 Tutorial Course the 2nd Finnish Geant4 Workshop June , Helsinki Institute of Physics June 2005,
N ATIONAL E NERGY R ESEARCH S CIENTIFIC C OMPUTING C ENTER Charles Leggett Prototype GEANT4 Service for ATHENA framework ATLAS Software Workshop Dec 3.
The interface to EvtGen in CMS Roberto Covarelli University of Rochester EvtGen workshop, 06/12/2010.
1 Exercises 0 Go inside the “hadrontherapy” directory: cd hadrontherapy Copy the Hadrontherapy example to your home folder: cp –r $G4INSTALL/examples/advanced/hadrontherapy.
GPS General Particle Source
Interaction with the Geant4 kernel
GUI Parallel Session Hajime Yoshida
Basics of a user application
(CMS GEANT4 simulation)
Geant4:User Actions and Analysis
Primary Particle Generation
Makoto Asai (SLAC) Geant4 Users CERN Nov. 11th, 2002
Primary Particle Generation
Use of Geant4 in experiment interactive frameworks AliRoot
G4GeneralParticleSource Class:
User Application
The full set of lecture notes of this Geant4 Course is available at
Customizing Run Management
The full set of lecture notes of this Geant4 Course is available at
Kernel Author: Makoto Asai.
Primary particle Makoto Asai (SLAC Computing Services)
The full set of lecture notes of this Geant4 Course is available at
Presentation transcript:

Geant4 Training 2003 Primary Particle Generation The full set of lecture notes of this Geant4 Course is available at

Geant4 Training 2003 Contents Primary vertex and primary particle Primary generator G4VUserPrimaryParticleGeneratorAction

Geant4 Training 2003 Primary vertices and particles Primary vertices and primary particles should be stored in G4Event before processing an event. –G4PrimaryVertex and G4PrimaryParticle classes  These classes don’t have any dependency to G4ParticleDefinition nor G4Track. –Capability of bookkeeping decay chains  Primary particles may not necessarily be particles which can be tracked by Geant4. Geant4 provides some concrete implementations of G4VPrimaryGenerator. –G4HEPEvtInterface –G4HEPMCInterface –G4GeneralParticleSource –G4ParticleGun

Geant4 Training 2003 Interfaces to HEPEvt and HepMC Concrete implementations of G4VPrimaryGenerator –A good example for experiment-specific primary generator implementation G4HEPEvtInterface –Suitable to /HEPEVT/ common block, which many of (FORTRAN) HEP physics generators are compliant to. –ASCII file input G4HepMCInterface –An interface to HepMC class, which a few new (C++) HEP physics generators are compliant to. –ASCII file input or direct linking to a generator through HepMC.

Geant4 Training 2003 G4GeneralParticleSource A concrete implementation of G4VPrimaryGenerator Primary vertex is randomly chosen on the surface of a certain (radioactive) volume. Capability of event biasing (variance reduction). –By enhancing particle type, distribution of vertex point, energy and/or direction Suitable especially to space applications

Geant4 Training 2003 G4ParticleGun Concrete implementations of G4VPrimaryGenerator –A good example for experiment-specific primary generator implementation It shoots one primary particle of a certain energy from a certain point at a certain time to a certain direction. –Various set methods are available –Intercoms commands are also available

Geant4 Training 2003 G4VUserPrimaryGeneratorAction This class is one of mandatory user action classes to control the generation of primaries. –This class itself should NOT generate primaries but invoke GeneratePrimaryVertex() method of primary generator(s). –One of most frequently asked questions is : I want “particle shotgun”, “particle machinegun”, etc. –Instead of implementing such a fancy weapon, you can  Shoot random numbers in arbitrary distribution  Use set methods of G4ParticleGun  Use G4ParticleGun as many times as you want  Use any other primary generators as many times as you want

Geant4 Training 2003 G4VUserPrimaryGeneratorAction Constructor –Instantiate primary generator(s) –Set default values to it(them) GeneratePrimaries() method –Randomize particle-by-particle value(s) –Set them to primary generator(s) –Invoke GeneratePrimaryVertex() method of primary generator(s) –Never use hard-coded UI commands

Geant4 Training 2003 G4VUserPrimaryGeneratorAction void T01PrimaryGeneratorAction:: GeneratePrimaries(G4Event* anEvent) { G4ParticleDefinition* particle; G4int i = (int)(5.*G4UniformRand()); switch(i) { case 0: particle = positron; break;... } particleGun->SetParticleDefinition(particle); G4double pp = momentum+(G4UniformRand()-0.5)*sigmaMomentum; G4double mass = particle->GetPDGMass(); G4double Ekin = sqrt(pp*pp+mass*mass)-mass; particleGun->SetParticleEnergy(Ekin);

Geant4 Training 2003 G4double angle = (G4UniformRand()-0.5)*sigmaAngle; particleGun->SetParticleMomentumDirection (G4ThreeVector(sin(angle),0.,cos(angle))); particleGun->GeneratePrimaryVertex(anEvent); } You can repeat this for generating more than one primary particles.