An event is simulated,
particle trajectory through the detector is handled
by
Bogus/geant4 as well as the propagation of the particles from a
subdector to an other.
When a particle enters a parametrized subdetector hits are created
along its trajectory
until it leaves (or is stopped) the subdectector.
When it has left the subdetector, Geant4/Bogus takes them back.
The particles is then propagated to another subdetector or outside the
detector.
From the point of view of Bogus/Geant4, the parametric model appears as
an empty
volume (in fact subdectors are "registered" to Bogus/Geant4 as empty
volumes
of the size of the subdector filled of vacuum.
However several problem arises when a particle leaves the subdetector
and is propagated to the
next. Geant4 will try to simulate residual interaction with vacuum and
will produce
lots of secondaries causing:
1/ a tremendeous increase in the time taken for producing
an event;
2/ crash as Geant4 may try to propagate secondaries from
particles which
are not dead yet (suspended track). This may
sound as a bug, but it is
in fact a feature of Geant...
In few words, this is due to the fact that Geant4/Bogus uses
G4TrackManager and the
parametric model uses G4FastTrackManager.
Those problems have been solved by requiring that all volume should be
filled with vacuum,
to limit the production of secondaries by Geant4 and by killing the
remaining
secondaries to avoid changing the track order in the stack which is
responsible
for the crash. (The reason: when secondaries are created this way, they
are put
into the track stack in the such a way that those secondaries are
propagated
by geant4 before the parents particles have "died", when it has
finished to propagate
the secondaries it goes back to the undead parent and obviously
crashes.).
Page author:
Dominique J. Mangeol
| Last significant update: 24 July 2003 |