99 lines
3.1 KiB
Plaintext
99 lines
3.1 KiB
Plaintext
$Id: README 78303 2013-12-11 10:50:38Z gcosmo $
|
|
-------------------------------------------------------------------
|
|
|
|
=========================================================
|
|
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
|
|
=========================================================
|
|
|
|
OpNovice
|
|
--------
|
|
|
|
This example presently illustrates the following basic concepts, and in
|
|
particular (indicated with ***), how to use G4 for optical photon
|
|
generation and transport. Other extended example of what is possible
|
|
in Geant4 with optical photons can be found at
|
|
examples/extended/optical/LXe and wls.
|
|
|
|
main()
|
|
------
|
|
|
|
==> define Random Number Engine and initial seed
|
|
|
|
G4VUserPhysicsList
|
|
------------------
|
|
|
|
==> define particles; including *** G4OpticalPhoton ***
|
|
define processes; including *** G4Cerenkov ***
|
|
*** G4Scintillation ***
|
|
*** G4OpAbsorption ***
|
|
*** G4OpRayleigh ***
|
|
*** G4OpBoundaryProcess ***
|
|
|
|
G4VUserDetectorConstruction
|
|
---------------------------
|
|
|
|
==> define material: Air and Water
|
|
define simple G4box geometry
|
|
*** add G4MaterialPropertiesTable to G4Material ***
|
|
*** define G4LogicalSurface(s) ***
|
|
*** define G4OpticalSurface ***
|
|
*** add G4MaterialPropertiesTable to G4OpticalSurface ***
|
|
|
|
G4VUserPrimaryGeneratorAction
|
|
-----------------------------
|
|
|
|
==> Use G4ParticleGun to shoot a charge particle into a Cerenkov radiator
|
|
|
|
==> A messenger command allows to define interactivly the polarization of an
|
|
primary optical photon (see for instance optPhoton.mac)
|
|
|
|
G4UserRunAction
|
|
---------------
|
|
|
|
==> define G4Timer (start/stop)
|
|
set verbose levels
|
|
|
|
G4UserStackingAction
|
|
--------------------
|
|
|
|
==> show how to count the number of secondary particles in an event
|
|
|
|
Visualisation
|
|
-------------
|
|
|
|
The Visualization Manager is set in the main().
|
|
The initialisation of the drawing is done via a set of /vis/ commands
|
|
in the macro vis.mac. This macro is automatically read from
|
|
the main in case of interactive running mode.
|
|
|
|
The detector has a default view which is a longitudinal view of the tank.
|
|
The tracks are drawn at the end of event, and erased at the end of run.
|
|
|
|
HOW TO START
|
|
------------
|
|
|
|
- compile and link to generate an executable
|
|
% cd OpNovice
|
|
% gmake
|
|
|
|
This example handles the program arguments in a new way.
|
|
It can be run with the following optional arguments:
|
|
% OpNovice [-m macro ] [-u UIsession] [-t nThreads]
|
|
|
|
The -t option is available only in multi-threading mode
|
|
and it allows the user to override the Geant4 default number of
|
|
threads. The number of threads can be also set via G4FORCENUMBEROFTHREADS
|
|
environment variable which has the top priority.
|
|
|
|
- execute OpNovice in 'batch' mode from macro files
|
|
% OpNovice -m OpNovice.in
|
|
|
|
- execute OpNovice in 'interactive mode' with visualization
|
|
% OpNovice
|
|
....
|
|
Idle> type your commands. For instance:
|
|
Idle> /control/execute optPhoton.mac
|
|
....
|
|
Idle> exit
|
|
|