/*!

/// \file "E03/.README.txt"
/// \brief The Example E03 README page

\page README_E03 Example E03

\section e03_s1 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

\section e03_s3 Macros

  For running example with G3:
  <pre>
  \link     E03/load_g3a.C load_g3a.C    \endlink - macro to load the libraries (variant E03a) to run the example with Geant3
  \link     E03/load_g3b.C load_g3b.C    \endlink - macro to load the libraries (variant E03b) to run the example with Geant3
  \link     E03/load_g3c.C load_g3c.C    \endlink - macro to load the libraries (variant E03c) to run the example with Geant3
  \link       E03/run_g3.C run_g3.C      \endlink - macro for running example
  \link E03/g3tgeoConfig.C g3tgeoConfig.C\endlink - configuration macro for G3 with TGeo geometry(default)
  \link     E03/g3Config.C g3Config.C    \endlink - configuration macro for G3 with native geometry
  \link   E03/set_g3_vis.C set_g3_vis.C  \endlink - setting Geant3 TGeo visualization (called by run_g3.C)
  </pre>

  For running example with G4:
  <pre>
  \link      E03/load_g4a.C load_g4a.C     \endlink - macro to load the libraries (variant E03a) to run the example with Geant4
  \link      E03/load_g4b.C load_g4b.C     \endlink - macro to load the libraries (variant E03b) to run the example with Geant4
  \link      E03/load_g4c.C load_g4c.C     \endlink - macro to load the libraries (variant E03c) to run the example with Geant4
  \link        E03/run_g4.C run_g4.C       \endlink - macro for running example
  \link      E03/g4Config.C g4Config.C     \endlink - configuration macro - G4 native geometry navigation (default)
  \link     E03/g4Config1.C g4Config1.C    \endlink - configuration macro - geometry defined via Geant4
  \link     E03/g4Config2.C g4Config2.C    \endlink - configuration macro - user defined physics list (LHEP_BERT)
  \link     E03/g4Config3.C g4Config3.C    \endlink - configuration macro - user defined regions
  \link     E03/g4Config4.C g4Config4.C    \endlink - configuration macro - activation of VMC cuts and process controls
  \link     E03/g4Config5.C g4Config5.C    \endlink - configuration macro - activation of user defined magnetic field equation of motion and/or its integrator
  \link  E03/g4tgeoConfig.C g4tgeoConfig.C \endlink - configuration macro - G4 with TGeo navigation
  \link E03/g4tgeoConfig3.C g4tgeoConfig3.C\endlink - configuration macro - user defined regions, G4 with TGeo navigation
  \link E03/g4tgeoConfig4.C g4tgeoConfig4.C\endlink - configuration macro - activation of VMC cuts and process controls, TGeo navigation
  \link E03/g4tgeoConfig5.C g4tgeoConfig5.C\endlink - configuration macro - activation of user defined magnetic field equation of motion and/or its integrator
  \link   E03/g4ConfigEnv.C g4ConfigEnv.C  \endlink - configuration macro - physics list defined via environment variable
  \link    E03/set_g4_vis.C set_g4_vis.C   \endlink - 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)
  </pre>

\section e03_s4 To run example (Ex03a)

  <pre>
  With G3 + TGeo:
  root[0] .x \link E03/load_g3a.C load_g3a.C\endlink
  root[1] .x \link E03/run_g3.C run_g3.C\endlink

  With G4:
  root[0] .x \link E03/load_g4a.C load_g4a.C\endlink
  root[1] .x \link E03/run_g4.C run_g4.C\endlink

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

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

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

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

  With G4 + TGeo navigation with user defined regions:
  root[0] .x \link E03/load_g4a.C load_g4a.C\endlink
  root[1] .x \link E03/run_g4.C run_g4.C\endlink(\link E03/g4tgeoConfig3.C "g4tgeoConfig3.C"\endlink);
  </pre>

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

\section e03_s5 To run the Ex03c variant with multiple engines:

  <pre>
  With G3 and G4 + TGeo (no other geometry available):
  root[0] .x \link E03/load_multi.C load_multi.C\endlink
  root[1] .x \link E03/run_multi.C run_multi.C\endlink
  </pre>

\section e03_s6 Classes

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

*/
