------------------------------------------------
 The Virtual Monte Carlo examples
 Copyright (C) 2007 - 2018 Ivana Hrivnacova
 All rights reserved.

 For the licensing terms see geant4_vmc/LICENSE.
 Contact: root-vmc@cern.ch
-------------------------------------------------


Example03
=========
  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.

  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

  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 (QGSP_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, TGeo navigation
  g4tgeoConfig4.C - configuration macro - activation of VMC cuts and process controls, TGeo navigation
  g4Config5.C     - configuration macro - activation of user defined magnetic field equation of motion
                                          and/or its integrator, TGeo navigation
  g4ConfigEnv.C   - configuration macro - physics list defined via environment variable
  set_g4_vis.C  - setting Geant4 visualization
  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)

  For running example with both G3 and G4 (E03c):

  load_multi.C    - macro to load all necessary libraries
  run_multi.C     - macro for running example

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[1] .x run_g4.C("g4Config3.C");

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

  To run the Ex03b variant, use load_g3b.C and load_g4b.C macros.

To run example (Ex03c)
======================

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