VMC Examples Version 6.6
Loading...
Searching...
No Matches
Example E03

Description

The Geant4 ExampleN03 adapted to Virtual Monte Carlo and extended for testing some other VMC features. Since Geant4 VMC v4.0, the example is provided in two variants:

  • E03a - scoring via sensitive volumes and MCApplication::Stepping (old way)
  • E03b - scoring via sensitive detectors derived from new TVirtualMCSensitiveDetector interface
  • E03c - adapted from E03a demonstrating the usage of sharing event simulation amongs multiple different engines.

It demonstrates:

  • Geometry - divided volume (Gsdvn)
  • Definition of sensitive volumes
  • Definition of VMC sensitive detectors (new since v3.7)
  • Physics - hadronics processes off
  • Particles cuts: G4 cut in range: 1mm; G3 cuts set to correspond to 1mm cut in range
  • Primary generator with randomized position (optional), defined number of electrons with moving position and fixed direction
  • Calorimetry hits
  • Storing hits, particles stack in Root file
  • Drawing geometry (G3, G3+TGeo, G4) + trajectories (G3+TGeo and G4)
  • Verbosity
  • Geometry defined via Geant4 (G4)
  • User defined physics list (G4) (Use of user own defined physics list is demonstrated on the LHEP_BERT hadronics physics list provided in Geant4.)
  • User defined particles and ions (G3, G4)
  • User defined regions (G4)
  • User defined magnetic field equation of motion and/or its integrator (G4)

E03c specifics: The simulation is configured such that the volume GAPX (ABSO) is simulated by GEANT3 (GEANT4) and the volume ABSO (GAPX) is taken care of by GEANT4 (GEANT3). Tracks are intercepted when necessary and transferred automatically to the stack of the responsible engine. The user stack is managed automatically as well and contains no intermediate stages of transported particles.

This example contains the minimal addition of code necessary to achieve this behaviour when compared to examples E03a/b.

See also description of in geant4/examples/basic/B4

Macros

For running example with G3:

   load_g3a.C     - macro to load the libraries (variant E03a) to run the example with Geant3
   load_g3b.C     - macro to load the libraries (variant E03b) to run the example with Geant3
   load_g3c.C     - macro to load the libraries (variant E03c) to run the example with Geant3
   run_g3.C       - macro for running example
   g3tgeoConfig.C - configuration macro for G3 with TGeo geometry(default)
   g3Config.C     - configuration macro for G3 with native geometry
   set_g3_vis.C   - setting Geant3 TGeo visualization (called by run_g3.C)
  

For running example with G4:

   load_g4a.C      - macro to load the libraries (variant E03a) to run the example with Geant4
   load_g4b.C      - macro to load the libraries (variant E03b) to run the example with Geant4
   load_g4c.C      - macro to load the libraries (variant E03c) to run the example with Geant4
   run_g4.C        - macro for running example
   g4Config.C      - configuration macro - G4 native geometry navigation (default)
   g4Config1.C     - configuration macro - geometry defined via Geant4
   g4Config2.C     - configuration macro - user defined physics list (LHEP_BERT)
   g4Config3.C     - configuration macro - user defined regions
   g4Config4.C     - configuration macro - activation of VMC cuts and process controls
   g4Config5.C     - configuration macro - activation of user defined magnetic field equation of motion and/or its integrator
   g4tgeoConfig.C  - configuration macro - G4 with TGeo navigation
   g4tgeoConfig3.C - configuration macro - user defined regions, G4 with TGeo navigation
   g4tgeoConfig4.C - configuration macro - activation of VMC cuts and process controls, TGeo navigation
   g4tgeoConfig5.C - configuration macro - activation of user defined magnetic field equation of motion and/or its integrator
   g4ConfigEnv.C   - configuration macro - physics list defined via environment variable
   set_g4_vis.C    - setting Geant4 visualization (called by run_g4.C)
   g4config.in   - macro for G4 configuration using G4 commands (called from g4Config.C)
   g4config2.in  - macro for G4 configuration using G4 commands (called from g4Config2.C)
   g4vis.in      - macro for G4 visualization settings (called from set_g4_vis.C)
  

To run example (Ex03a)

  With G3 + TGeo:
  root[0] .x  load_g3a.C
  root[1] .x  run_g3.C

  With G4:
  root[0] .x  load_g4a.C
  root[1] .x  run_g4.C

  With G4 + TGeo navigation:
  root[0] .x  load_g4a.C
  root[1] .x  run_g4.C( "g4tgeoConfig.C");

  With G4 with geometry defined via Geant4:
  root[0] .x  load_g4a.C
  root[1] .x  run_g4.C( "g4Config1.C");

  With G4 with user defined physics list:
  root[0] .x  load_g4a.C
  root[1] .x  run_g4.C( "g4Config2.C");

  With G4 with user defined regions:
  root[0] .x  load_g4a.C
  root[1] .x  run_g4.C( "g4Config3.C");

  With G4 + TGeo navigation with user defined regions:
  root[0] .x  load_g4a.C
  root[1] .x  run_g4.C( "g4tgeoConfig3.C");
  

To run the Ex03b or Ex03c variant, use load_g3b.C and load_g4b.C or load_g3c.C and load_g4c.C macros.

To run the Ex03c variant with multiple engines:

  With G3 and G4 + TGeo (no other geometry available):
  root[0] .x  load_multi.C
  root[1] .x  run_multi.C
  

Classes

The documentation of all classes and the basic macros for this example is availabe on this page .