Sie sind auf Seite 1von 13

NUEN 689 Intro to GEANT4

Lecturers: Gamal Akabani, Jonathan Madsen


Spring 2013
Class Overview
2
GEANT4 is an open-source code for the simulation
of the passage of particles through matter
Not limited to particle physics, G4DNA is currently
including chemistry for the transport of radicals and
solvated electrons
Main site: http://geant4.cern.ch
Download:
http://geant4.web.cern.ch/geant4/support/downlo
ad.shtml
Class Overview
Lecturers:
Dr. Akabani
Brought GEANT4 to Texas A&M by hosting GEANT4
tutorial in the winter of 2010
Jonathan Madsen
Geant4 Collaboration Member
Became a member of the Low Energy Electromagnetic Physics
Group in 2012
9/26/2014 DRAFT 3
Class Overview
The projects in the labs will involve
Writing simple programs (in pure C++)
Manipulating programs or adding functionality to
programs Ive provided
Building a GEANT4 project
9/26/2014 DRAFT 4
C++
We will start out reviewing/learning C++
Some think the syntax is ugly at first it is
I am a self-taught C++ programmer
I have learned from studying examples and others
peoples codes, reading C++ books on general C++ and
optimization, utilizing forums, etc.
I will teach you the best way I know how and the best
way I think you should learn with Geant4 in mind
Feel free to jump in if you know C++ and think I should
address something I have not yet
9/26/2014 DRAFT 5
C++
Please feel free to ask me to elaborate on
anything when we are learning C++ and
provide context to where and when you will
use what I am currently teaching
This is the first time I have had set out to
actually teach C++ so if I gloss over anything,
STOP me
9/26/2014 DRAFT 6
GEANT4
Once we get into GEANT4 (~week 4), I will expect you
to have GEANT4 working by that time
Sometime in the first few weeks, get it installed and
compile and run an example or two
There are some good manuals on the Geant4 website
Ill explain the basics then try to install it yourself, consult
the manuals, and only come to me when you are about to
slam your head into your desk
Its how you learn these sort of things
Geant4 uses CMake, make sure you download and install it
9/26/2014 DRAFT 7
CMake
If you have a Mac, install MacPorts
Run sudo port install cmake to get CMake
If you are using a Linux distribution, you should already have
apt-get (or yum)
Run sudo apt-get install cmake to get CMake
If you are using Windows, there is a GUI for CMake but for
GEANT4, good luck (we dont do windows)
Ill help some but I dont use Windows and I kind of hate it
Side note: At the last Geant4 Collaboration meeting I went to, I did not
see a single person using Windows. They either had a Mac or were
running Linux. Windows is just a hassle, especially with Geant4
9/26/2014 DRAFT 8
GEANT4 Download
Only download the geant4 source files
Dont download the data files
These can be downloaded during installation
You can also download a pre-compiled library
I recommend build from source for customization
reasons
You can also download a Debian operating
system for VirtualBox pre-configured with
Geant4 from grove (in /scratch2/jmadsen/)
9/26/2014 DRAFT 9
Learning Geant4
Im not 100% sure how quickly some of Geant4
classes yall will pick up so the schedule on the
syllabus is a bit tentative, some weeks we might be
able to fit in 2-3 classes, others it might take 2-3
weeks (like physics lists for example)
Projects will involve adding functionality to a GEANT4
program
Since, GEANT4 covers such a large variety of capabilities, I
would like to allow yall to dictate what kind of project you
would like to do
9/26/2014 10
G4 Projects
In other words, if you are interested in using
GEANT4 for a specific use:
Spallation
Detectors using optical photons
Low-energy Dosimetry
High-energy accelerator physics
I will create a set of project goals tailored for
those interests for you to work on throughout
the semester
9/26/2014 DRAFT 11
G4 Projects
If you have a SPECIFIC PROJECT, not just a
general use goal, I can accommodate that too
If you dont have a particular interest, Ill have
a general one too

9/26/2014 DRAFT 12
Learning Geant4
GEANT4 has a steep learning curve
Initially, most beginner application developers
start with an example that is attempting
something similar and customize it to fit their
needs
You can also use a Geant4 generator program I
wrote
Generates the bare bones of a Geant4 program
Written a long time ago and its not my best work C++-
wise so its ugly but works well in general
9/26/2014 DRAFT 13

Das könnte Ihnen auch gefallen