Back to home page

EIC code displayed by LXR

 
 

    


Warning, /geant4/examples/extended/optical/OpNovice/README is written in an unsupported language. File is not indexed.

0001 -------------------------------------------------------------------
0002 
0003      =========================================================
0004      Geant4 - an Object-Oriented Toolkit for Simulation in HEP
0005      =========================================================
0006 
0007                             OpNovice
0008                             --------
0009 
0010 This example presently illustrates the following basic concepts, and in
0011 particular (indicated with ***), how to use G4 for optical photon
0012 generation and transport. Other extended example of what is possible
0013 in Geant4 with optical photons can be found at
0014 examples/extended/optical/LXe and wls.
0015 
0016 main()
0017 ------
0018 
0019  ==> define Random Number generator initial seed
0020 
0021 G4Optical Physics
0022 -----------------
0023 
0024  The G4OpticalPhysics physics class is used. The messenger is the
0025  G4OpticalParametersMessenger class.
0026 
0027  ==> define particles; including *** G4OpticalPhoton     ***
0028      define processes; including *** G4Cerenkov          ***
0029                                  *** G4Scintillation     ***
0030                                  *** G4OpAbsorption      ***
0031                                  *** G4OpRayleigh        ***
0032                                  *** G4OpBoundaryProcess ***
0033 
0034  ==> A messenger command allows to define interactively the 
0035      verbose level and the maximum number of Cerenkov photons per step
0036      (see for instance OpNovice.in)
0037 
0038 G4VUserDetectorConstruction
0039 ---------------------------
0040 
0041  ==> define material: Air and Water
0042      define simple G4box geometry
0043      *** add G4MaterialPropertiesTable to G4Material       ***
0044      *** define G4LogicalSurface(s)                        ***
0045      *** define G4OpticalSurface                           ***
0046      *** add G4MaterialPropertiesTable to G4OpticalSurface ***
0047 
0048 alternatively the Configuration can be read from a gdml file.
0049 The provided gdml file NoviceExample.gdml corresponds to the detector
0050 defined in OpNoviceDetectorConstruction.
0051 
0052 G4VUserPrimaryGeneratorAction
0053 -----------------------------
0054 
0055  ==> Use G4ParticleGun to shoot a charge particle into a Cerenkov radiator
0056  
0057  ==> A messenger command allows to define interactively the polarization of an
0058      primary optical photon (see for instance optPhoton.mac)
0059  
0060 G4UserRunAction and G4Run
0061 -------------------------
0062 
0063  Used to accumulate statistics.
0064 
0065 G4UserStackingAction and G4UserEventAction
0066 ------------------------------------------
0067 
0068 ==> show how to count the number of secondary particles in an event
0069 
0070 Visualisation
0071 -------------
0072  
0073  The Visualization Manager is set in the main().
0074  The initialisation of the drawing is done via a set of /vis/ commands
0075  in the macro vis.mac. This macro is automatically read from
0076  the main in case of interactive running mode.
0077  
0078  The detector has a default view which is a longitudinal view of the tank.
0079  The tracks are drawn at the end of event, and erased at the end of run.
0080  
0081  HOW TO START
0082  ------------
0083  
0084  - compile and link to generate an executable
0085 
0086    This example handles the program arguments in a new way.
0087    It can be run with the following optional optionaarguments:
0088    $ OpNovice [-g gdmlfile] [-m macro ] [-u UIsession] [-t nThreads]
0089 
0090    The -t option is available only in multi-threading mode
0091    and it allows the user to override the Geant4 default number of
0092    threads. The number of threads can be also set via G4FORCENUMBEROFTHREADS
0093    environment variable which has the top priority.
0094 
0095  - execute OpNovice in 'batch' mode from macro files
0096         $ OpNovice -m OpNovice.in
0097 
0098  - execute OpNovice in 'batch' mode from macro files using a gdml file
0099    to define the geometry
0100         $ OpNovice -g NoviceExample.gdml -m OpNovice.in
0101         
0102  - execute OpNovice in 'interactive mode' with visualization
0103         $ OpNovice
0104         ....
0105         Idle> type your commands. For instance:
0106         Idle> /control/execute optPhoton.mac
0107         ....
0108         Idle> exit
0109 
0110 Macros
0111 ------
0112 
0113  The following macros are provided:
0114 
0115  - optPhoton.mac: Shoot optical photons with energy 3 eV
0116  - OpNovice.in: Shoot positrons with energy 500 keV.
0117  - gui.mac: Configure the graphical user interface.
0118  - vis.mac: Configure visualization.
0119 
0120 
0121 gdml files
0122 ----------
0123 NoviceExample.gdml: example gdml file corresponding to
0124 OpNoviceDetectorConstruction