Event generators and GEANT4
Makoto ASAI (Hiroshima Inst. of Tech.)
Strategy for the short term:
- Interfaces to current event generators needed for input to G4;
- HEPEVT ideal, but wish to avoid coupling G4 with common blocks
and FORTRAN calls;
- ASCII format of HEPEVT allows to go via files, as for G3toG4
converter;
Current implementation in GEANT4
- Each particle (including quark, string, etc.) is constructed
as a class object. Each object has two uni-directional pointers.
One is to the next particle starts from the same mother. The
other is to the first daughter of that particular particle.
In this way, the mother-daughter relationships in HEPEVT
is retrieved and stored in G4Event object as "primary" particles.
- Each "primary" particle is converted to "GEANT4" particle, in case
that "primary" particle is defined in GEANT4, which means that
particle is worth to be traced by GEANT4.
- For the case of "complicated" decay, such as B- or C-mesons,
user will want to decay such particles using the same physical
model as the mother particles have been created. Thus, such
kind of "GEANT4" particles still keep their daughters given in
"primary" particles.
- Reading a file for each event is a negligible overhead.
Strategy for the medium term:
- Requirements of consistent/interchangeable interactors/models for
primaries and secondaries;
- No reliability of FORTRAN in 2005;
- FRITIOFF as a prototype: OO re-design of a high-level generator;
- Classes layer to access Event Generators engine.
Strategy for the long term:
- Current Event Generators re-designed with OOP and re-written in C++
by current authors;
- Creation of working group including OO software experts and
interested theoreticians?