120 likes | 267 Views
Moving from GEANT3 to GEANT4. BDS Meeting July 12, 2005. T. Maruyama. Introduction (from Markiewicz). GEANT3 is the standard Fortran-based High Energy Physics Detector simulation package Documented Was supported Debugged Large HEP User Base Offering 2-d and 3-d Graphics Ray Traces
E N D
Moving from GEANT3 to GEANT4 BDS Meeting July 12, 2005 T. Maruyama
Introduction (from Markiewicz) • GEANT3 is the standard Fortran-based High Energy Physics Detector simulation package • Documented • Was supported • Debugged • Large HEP User Base • Offering • 2-d and 3-d Graphics • Ray Traces • Output files (n-tuples, ascii) for detailed post-analysis • With • TURTLE-like tracking • Full complement of interactions • MCS, dE/dx, eZeZg, eZ eZe+e-, eN eX • Synchrotron Radiation (switch-able) • Hadronic Interactions (but poorly done, no neutrons) • Flexible materials data base
Why is this interesting? • While a huge number of tracking programs exist • TRANSPORT • TURTLE, Decay-TURTLE • MAD, DiMAD • Homebrews: • A. Drozhdin: STRUCT • S. Hertzbach: QSRAD • L. Keller: MuCarlo • GEANT offers possibility of • Interfacing the detector to the beamline • Interfacing the experimental physicist to the machine design • MARS and FLUKA are FORTRAN-based alternatives.
What has been done? • Vanilla GEANT3 from CERN • Double Precision Version: Paul LeBrun/ FNAL • 1nm beam positions and 10km beamlines require DP • Beamline Interface Package • MAD deck processed to ASCII magnet file (Woodley) • Mag Type, Pole Tip B, Aperture, L , x, y, z, x’, y’, z’ • Dipole, Quad, Sext, Oct recognized (for now) • User routines made DP: FLD, GuSTEP, UGeom, … • Routine to read magnet file • Map field and magnets to “lab” coor. System • Routine to read file of collimation devices • Generate array of “scoring planes” • Specify structure of output “n-tuple” • SiD detector • Independently coded using the detector XML file.
Geant 3 Examples SiD detector NLC BDS QF1 Radiative Bhabhas in 2 mrad QD0
Why are we moving to GEANT4? • Geant3 is no longer supported. • If any incompatibility develops, we have to solve it. • It happened when NORIC was upgraded from RedHat 7.3 to 9.0. • We have to maintain an independent detector model. • Current/future high energy experiments are using GEANT4.
Moving to GEANT4 • Isn’t it trivial to UPGRADE from Version 3 to Version 4? • GEANT4 is a totally new system written in C++. • C++ is not an easy language. Need a young professional C++ programmer. Half-cooked program by high energy physicist not good enough. • Issues • How we incorporate the detector in GEANT4. • Be able to use the detector group’s model without writing an independent model. • How we incorporate the beamline optics in GEANT4. • Be able to read MAD optics file and set up geometry. • Use international standards as much as possible.
BDSIM • GEANT4-based code developed by Graham Blair • Read MAD optics file and set up geometry using standard magnet parameters. • The LCD detector has been incorporated. • As John has shown, BDSIM can be our solution. • Issues • Non-standard magnets like QF1 or SC quads require writing C++ codes. • Incorporating the SiD detector is difficult • There is no C++ code for SiD. • BDSIM uses ROOT not LCIO
SLIC • SLIC (Simulator for the Linear Collider) is GEANT4-based simulation code. • Jeremy McCormick http://www-conf.slac.stanford.edu/lcsim05/lcws05_talks/050319/McCormick.pdf • Geometry/material are specified by LCDD (Linear Collider Detector Description) XML-file and are setup dynamically at runtime. • The simulator is completely decoupled from detector. • Any new geometry can be introduced by providing a LCDD file without writing C++ code. QF1 magnet in GEANT4
SLIC • The SiD detector is already in LCDD format. • We do not have to maintain the detector model. • Much easier to study other detectors. • GLD or LCD • Much faster to setup geometry • Editing LCDD file rather than compiling/linking GEANT4 code. • Output is LCIO.
SLIC • What is missing in SLIC • Tracking in magnetic field • Currently tracking in a constant solenoid field is possible. • Field map to come soon. • Tracking in bend/quad/sext/oct needs to be incorporated. • BDSIM has special steppers for different magnets. • MAD optics file • Need a geometry editor which reads a MAD file and generates a LCDD file. • Find unique magnets and setup geometry. • Use magnet library for special magnets like QD0, QF1.
Conclusions • BDSIM is a powerful GEANT4-based tool. • However, it requires a significant C++ coding for development. • SLIC is attractive. • No C++ coding • LCDD XML can specify everything. • SiD geometry already exists