Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/extended/optical/OpNovice2/

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 ]

Name Size       Last modified (GMT) Description
Back Parent directory       2024-12-05 15:16:16
Folder include/       2024-12-05 15:16:16
Folder src/       2024-12-05 15:16:16
File CMakeLists.txt 2238 bytes       2024-12-05 15:16:16
File GNUmakefile 419 bytes       2024-12-05 15:16:16
File History 5123 bytes       2024-12-05 15:16:16
C++ file OpNovice2.cc 3753 bytes       2024-12-05 15:16:16
File OpNovice2.mac 1322 bytes       2024-12-05 15:16:16
File OpNovice2.out 50555 bytes       2024-12-05 15:16:16
File README 6187 bytes       2024-12-05 15:16:16
File boundary.mac 5661 bytes       2024-12-05 15:16:16
File boundary.out 117893 bytes       2024-12-05 15:16:16
File coated.mac 1127 bytes       2024-12-05 15:16:16
File coated.out 52240 bytes       2024-12-05 15:16:16
File complexRindex.mac 1329 bytes       2024-12-05 15:16:16
File complexRindex.out 50245 bytes       2024-12-05 15:16:16
File electron.mac 2511 bytes       2024-12-05 15:16:16
File electron.out 60486 bytes       2024-12-05 15:16:16
File fresnel.mac 1083 bytes       2024-12-05 15:16:16
File fresnel.out 52110 bytes       2024-12-05 15:16:16
File scint_by_particle.mac 4453 bytes       2024-12-05 15:16:16
File scint_by_particle.out 96707 bytes       2024-12-05 15:16:16
File vis.mac 2028 bytes       2024-12-05 15:16:16
File wls.mac 1698 bytes       2024-12-05 15:16:16
File wls.out 53940 bytes       2024-12-05 15:16:16

  1 -------------------------------------------------------------------
  2 
  3      ==================================================
  4      Geant4 - an Object-Oriented Toolkit for Simulation
  5      ==================================================
  6 
  7                              OpNovice2
  8                              ---------
  9 
 10     Investigate optical properties and parameters. Details of optical
 11     photon boundary interactions on a surface are recorded. Details 
 12     of optical photon generation and transport are recorded. Group velocity
 13     may be examined.
 14 
 15   
 16  1- GEOMETRY DEFINITION
 17 
 18  The geometry consists of a cube "box" with a side of 2 m inside 
 19  the world cube of side 20 m. Optical properties of the box, the world, 
 20  and the surface may be set interactively via the commands defined 
 21  in the DetectorMessenger class.
 22 
 23  Material properties may be added using the macro commands:
 24  # for the box:
 25  /opnovice2/boxProperty NAME EN1 V1 EN2 V2 [ .. ENn Vn]
 26  /opnovice2/boxConstProperty NAME VALUE
 27  # for the world:
 28  /opnovice2/worldProperty NAME EN1 V1 EN2 V2 [ .. ENn Vn]
 29  /opnovice2/worldConstProperty NAME VALUE
 30  # for the surface:
 31  /opnovice2/surfaceProperty NAME EN1 V1 EN2 V2 [ .. ENn Vn]
 32 
 33  Multiple energy and value pairs may be specified for the energy-dependent
 34  properties.
 35 
 36  Values are in Geant4 internal units. Energy is in MeV.
 37 
 38  Example:
 39  /opnovice2/boxProperty RINDEX 0.000002 1.3 0.000005 1.32 0.000008 1.34
 40  sets the refractive index of the box to 1.3 at 2 eV, 1.32 at 5 eV, and
 41  1.34 at 8 eV.
 42 
 43  2- PHYSICS LIST
 44 
 45  The FTFP_BERT physics list is used, with electromagnetic option 
 46  EMZ (option4) and G4OpticalPhysics for the optical physics.
 47    
 48  3- AN EVENT : THE PRIMARY GENERATOR
 49  
 50  The primary kinematic consists of a single particle. The type of 
 51  the particle, its energy, position, and direction, are set 
 52  in the PrimaryGeneratorAction class, and can be changed via the G4 
 53  build-in commands of G4ParticleGun class (see the macros provided with 
 54  this example).
 55   
 56  4- VISUALIZATION
 57  
 58  The Visualization Manager is set in the main().
 59  The initialisation of the drawing is done via the commands
 60  /vis/... in the macro vis.mac. To get visualisation:
 61  > /control/execute vis.mac
 62  or run the program with no command line arguments:
 63  $ ./OpNovice2
 64 
 65  5- HOW TO START ?
 66  
 67  - Execute OpNovice2 in 'batch' mode from macro files
 68   % OpNovice2 electron.mac
 69 
 70  - Execute OpNovice2 in 'interactive mode' with visualization
 71   % OpNovice2
 72   ....
 73   Idle> type your commands
 74   ....
 75   Idle> exit
 76 
 77  6- RESULTS
 78 
 79  A table of optical photon events is printed at the end of the run.
 80  Group velocity is printed with /tracking/verbose 1 or higher.
 81       
 82  7- HISTOGRAMS
 83  
 84  OpNovice2 has several predefined 1D histograms :
 85     1 : Cerenkov spectrum
 86     2 : scintillation spectrum
 87     3 : scintillation time (global time)
 88     4 : WLS absorption spectrum
 89     5 : WLS emission spectrum
 90     6 : WLS emission time
 91     7 : WLS2 absorption spectrum
 92     8 : WLS2 emission spectrum
 93     9 : WLS2 emission time
 94    10 : boundary process status
 95    11 : X momentum dir of scattered photons with px < 0
 96    12 : Y momentum dir of scattered photons with px < 0
 97    13 : Z momentum dir of scattered photons with px < 0
 98    14 : X momentum dir of scattered photons with px >= 0
 99    15 : Y momentum dir of scattered photons with px >= 0
100    16 : Z momentum dir of scattered photons with px >= 0
101    17 : X momentum dir of Fresnel-refracted photons
102    18 : Y momentum dir of Fresnel-refracted photons
103    19 : Z momentum dir of Fresnel-refracted photons
104    20 : fraction of photons refracted (i.e. Fresnel transmission)
105    21 : fraction of photons Fresnel-reflected
106    22 : fraction of photons total internal reflected (TIR)
107    23 : fraction of photons reflected (Fresnel reflection plus TIR)
108    24 : fraction of photons absorbed at surface
109    25 : fraction of photons "transmitted" (i.e. TRANSMITTANCE material property)
110    26 : fraction of photons spike-reflected
111 
112  Histograms 11-26 are recorded for photons scattered from the +X
113  surface of the cube. Only the first interaction is recorded.  
114 
115  The histograms are managed by G4Analysis classes. 
116  The histos can be individually activated with the command:
117  /analysis/h1/set id nbBins  valMin valMax 
118  The unit is hardcoded to be eV for energy and ns for time.
119  
120  One can control the name of the histograms file with the command:
121  /analysis/setFileName  name  (default opnovice2)
122 
123  It is possible to choose the format of the histogram file : root (default),
124  hdf5, xml, csv, by changing the default file type in HistoManager.cc
125  
126  It is also possible to print selected histograms on an ascii file:
127  /analysis/h1/setAscii id
128  All selected histos will be written on a file name.ascii  (default opnovice2)
129 
130  8- MACROS
131 
132  Several macros are included.
133  - boundary.mac: Set the surface to the various types and configurations of
134                model, type, etc., shoot optical photons, and record statistics.
135                This macro uses the command
136                /opnovice2/stepping/killOnSecondSurface,
137                which kills photon tracks incident on a second surface. This can
138                be useful for visualizing surface scattering.
139  - coated.mac: To show reflection/refraction from thin film coating
140  - electron.mac: Shoot electrons and observe Cerenkov and scintillation radiation
141  - fresnel.mac:  Shoot optical photons of fixed polarization and random direction
142                at a surface, and plot reflectance/transmittance vs incident
143                angle.
144  - complexRindex.mac: Use a dielectric-metal surface with a complex index of
145                refraction.
146  - OpNovice2.mac: Shoot an optical photon inside a box.
147  - scint_by_particle.mac: Configure scintillation to have particle-specific
148                yields, yield ratios, and time constants. Shoot different types
149                of particles.
150  - vis.mac:    Configure visualization.  The macro command
151                /opnovice2/stepping/killOnSecondSurface, which kills photon
152                tracks incident on a second surface, may be useful for
153                visualizing surface scattering.
154  - wls.mac:    Configure two wavelength-shifting processes, and shoot optical
155                photons.