Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/extended/optical/OpNovice/README

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

  1 -------------------------------------------------------------------
  2 
  3      =========================================================
  4      Geant4 - an Object-Oriented Toolkit for Simulation in HEP
  5      =========================================================
  6 
  7                             OpNovice
  8                             --------
  9 
 10 This example presently illustrates the following basic concepts, and in
 11 particular (indicated with ***), how to use G4 for optical photon
 12 generation and transport. Other extended example of what is possible
 13 in Geant4 with optical photons can be found at
 14 examples/extended/optical/LXe and wls.
 15 
 16 main()
 17 ------
 18 
 19  ==> define Random Number generator initial seed
 20 
 21 G4Optical Physics
 22 -----------------
 23 
 24  The G4OpticalPhysics physics class is used. The messenger is the
 25  G4OpticalParametersMessenger class.
 26 
 27  ==> define particles; including *** G4OpticalPhoton     ***
 28      define processes; including *** G4Cerenkov          ***
 29                                  *** G4Scintillation     ***
 30                                  *** G4OpAbsorption      ***
 31                                  *** G4OpRayleigh        ***
 32                                  *** G4OpBoundaryProcess ***
 33 
 34  ==> A messenger command allows to define interactively the 
 35      verbose level and the maximum number of Cerenkov photons per step
 36      (see for instance OpNovice.in)
 37 
 38 G4VUserDetectorConstruction
 39 ---------------------------
 40 
 41  ==> define material: Air and Water
 42      define simple G4box geometry
 43      *** add G4MaterialPropertiesTable to G4Material       ***
 44      *** define G4LogicalSurface(s)                        ***
 45      *** define G4OpticalSurface                           ***
 46      *** add G4MaterialPropertiesTable to G4OpticalSurface ***
 47 
 48 alternatively the Configuration can be read from a gdml file.
 49 The provided gdml file NoviceExample.gdml corresponds to the detector
 50 defined in OpNoviceDetectorConstruction.
 51 
 52 G4VUserPrimaryGeneratorAction
 53 -----------------------------
 54 
 55  ==> Use G4ParticleGun to shoot a charge particle into a Cerenkov radiator
 56  
 57  ==> A messenger command allows to define interactively the polarization of an
 58      primary optical photon (see for instance optPhoton.mac)
 59  
 60 G4UserRunAction and G4Run
 61 -------------------------
 62 
 63  Used to accumulate statistics.
 64 
 65 G4UserStackingAction and G4UserEventAction
 66 ------------------------------------------
 67 
 68 ==> show how to count the number of secondary particles in an event
 69 
 70 Visualisation
 71 -------------
 72  
 73  The Visualization Manager is set in the main().
 74  The initialisation of the drawing is done via a set of /vis/ commands
 75  in the macro vis.mac. This macro is automatically read from
 76  the main in case of interactive running mode.
 77  
 78  The detector has a default view which is a longitudinal view of the tank.
 79  The tracks are drawn at the end of event, and erased at the end of run.
 80  
 81  HOW TO START
 82  ------------
 83  
 84  - compile and link to generate an executable
 85 
 86    This example handles the program arguments in a new way.
 87    It can be run with the following optional optionaarguments:
 88    $ OpNovice [-g gdmlfile] [-m macro ] [-u UIsession] [-t nThreads]
 89 
 90    The -t option is available only in multi-threading mode
 91    and it allows the user to override the Geant4 default number of
 92    threads. The number of threads can be also set via G4FORCENUMBEROFTHREADS
 93    environment variable which has the top priority.
 94 
 95  - execute OpNovice in 'batch' mode from macro files
 96   $ OpNovice -m OpNovice.in
 97 
 98  - execute OpNovice in 'batch' mode from macro files using a gdml file
 99    to define the geometry
100   $ OpNovice -g NoviceExample.gdml -m OpNovice.in
101   
102  - execute OpNovice in 'interactive mode' with visualization
103   $ OpNovice
104   ....
105   Idle> type your commands. For instance:
106   Idle> /control/execute optPhoton.mac
107   ....
108   Idle> exit
109 
110 Macros
111 ------
112 
113  The following macros are provided:
114 
115  - optPhoton.mac: Shoot optical photons with energy 3 eV
116  - OpNovice.in: Shoot positrons with energy 500 keV.
117  - gui.mac: Configure the graphical user interface.
118  - vis.mac: Configure visualization.
119 
120 
121 gdml files
122 ----------
123 NoviceExample.gdml: example gdml file corresponding to
124 OpNoviceDetectorConstruction