Hypernews Faq

Version 1.0


  • (1) How to end a track manually?
  • (2) How to get the runID and eventID?
  • (3) Implement all the goodies mentioned here .
  • (4) What geometry informations can I access through Step object? See here.
  • (5) Abort Event in SteppingAction
  • (6) logic involving GetProcessDefinedStep
  • (7) Use volume CopyNumber up-and-down the volume hirarchy
  • (8) How can I obtain the list of just the secondaries of the current step?
    (8a) How can I get the secondaries information in the UserSteppingAction?
  • (9) How to get a track's CreatorProcess?
    (9a) How to get the CreatorProcess for each secondary?
  • (10) Example using G4StepLimiter, G4UserLimits
    (10a) Example using G4UserSpecialCuts
  • (11) Copy user track information from primary to secondary - get information of the original ancestor particle.
  • (12) How to get the element vector during tracking?
  • (13) How to get the decay-table during tracking?
  • (14) Careful use of GetVertexKineticEnergy, GetVertexPosition
  • (not possible in PreTrackingAction!)
  • (15) How to count all particles only once without 'killing' - in SteppingAction?
  • (16) How to count decays at rest separately from decays in flight?
  • (17) Example of how to suspend tracks
  • (18) How to get the parent particle of Cerenkov photons?
  • (19) Forcing a particle to interact
  • (20) How can a track be killed with all it's secondaries at a particular point?
  • (21) How to redefine initial track weight?
  • (22) How to collect the energy of all shower particles that follow a gamma entering a detector, separately for each entering gamma?
  • (23) Draw only certain trajectories
    (23a) Drawing tracks only when they hit a detector
  • (24) How can I obtain position vector local to the daughter volume
  • (in SteppingAction)?
  • (25) (Re)set number of events from within the program
  • (26) Usage of EnteredDaughterVolume()
  • (27) How to get a list of process DoIt functions invoked during the step?
  • (28) How can I redo a step - for tuning time-dependent E-fields?
  • (29) How to add tracks at will from SteppingAction?
  • (30) How to abort event processing (not a run!) or to kill all secondaries (at the step level)?
  • (31) How to get PropagatorInField and how to modify some of its parameters?


  • (1) How to count total number of scintillation photons per event?
  • (2) How to add a new track to the stack?
  • (3) How to get volume information in StackingAction?
    (3a) How to access G4VSolid in StackingAction?
  • (4) Implement a special Time Stack


  • (1) Two different particle types as primaries - Generating of multiple primary events
  • (2) How to determine the volume from position alone (in PrimaryGeneratorAction, for example)
  • (3) How to start primaries in a specific volume/material?
  • (4) How to see if a track will intersect a volume before throwing it?
  • (5) Usage of Preassigned Decay Time and Preassigned Decay Channel


  • (1) How to reset a track's global time (in PreUserTrackingAction) or SteppingAction?
  • (2) How can I prune trajectories after particle tracking?


  • (1) Adding a new user specific process


  • (1) How to modify the geometry during a run?


  • (1) How to access step information - for time dependent electric field in GetField()?
  • (2) How to get the process name in the GetFieldValue method?

Created: 20 April 2011, by Peter Gumplinger
Last modified: 20 April 2011, by Ivana Hrivnacova