Import Geant4 6.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 10:56:29 +02:00
parent 1d812b78b1
commit e083ffb441
1415 changed files with 111223 additions and 21207 deletions
+11 -2
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.72 2003/12/01 21:09:20 perl Exp $
$Id: History,v 1.75 2004/06/14 08:30:32 gcosmo Exp $
--------------------------------------------------
=========================================================
@@ -14,7 +14,16 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
08-04-04 Guy Barrand (exampleN03-V06-01-00)
- exampleN03.cc : Windows : Have G4UI_USE_WIN32 in order to have
a default Windows GUI coworking with the OpenGL Windows driver.
- exN03Vis9.mac : demo of the OpenGL Windows driver.
- gui.mac : change menu items in order to reflect the used vis driver.
19-03-04 M.Maire (exampleN03-V06-00-00)
- ExN03PhysicsList: cleanup of include.
01-12-03 J.Perl (exampleN03-V05-02-08)
- Removed extraneous flushes from visTutor/heprep.mac to match new
endOfRunAction behavior.
+12 -8
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: exampleN03.cc,v 1.19 2003/09/15 15:38:08 maire Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// $Id: exampleN03.cc,v 1.20 2004/04/08 09:03:32 gbarrand Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -37,6 +37,10 @@
#include "G4UIXm.hh"
#endif
#ifdef G4UI_USE_WIN32
#include "G4UIWin32.hh"
#endif
#include "Randomize.hh"
#ifdef G4VIS_USE
@@ -74,14 +78,14 @@ int main(int argc,char** argv) {
if (argc==1) // Define UI session for interactive mode.
{
// G4UIterminal is a (dumb) terminal.
#ifdef G4UI_USE_XM
#if defined(G4UI_USE_XM)
session = new G4UIXm(argc,argv);
#else
#ifdef G4UI_USE_TCSH
#elif defined(G4UI_USE_WIN32)
session = new G4UIWin32();
#elif defined(G4UI_USE_TCSH)
session = new G4UIterminal(new G4UItcsh);
#else
session = new G4UIterminal();
#endif
#endif
}
@@ -108,8 +112,8 @@ int main(int argc,char** argv) {
{
// G4UIterminal is a (dumb) terminal.
UI->ApplyCommand("/control/execute vis.mac");
#ifdef G4UI_USE_XM
// Customize the G4UIXm menubar with a macro file :
#if defined(G4UI_USE_XM) || defined(G4UI_USE_WIN32)
// Customize the G4UIXm,Win32 menubar with a macro file :
UI->ApplyCommand("/control/execute visTutor/gui.mac");
#endif
session->SessionStart();
+18 -18
View File
@@ -1,8 +1,8 @@
*************************************************************
Geant4 version $Name: geant4-06-01 $ (25-March-2004)
Geant4 version $Name: geant4-06-02 $ (25-June-2004)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303.
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
*************************************************************
@@ -127,8 +127,8 @@ annihil: Total cross section from Heilter formula(annihilation into 2 photons).
hIoni: tables are built for proton
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 0
Bether-Bloch model for Escaled > 2 MeV, parametrisation of Bragg peak below, Integral mode 0
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Bether-Bloch model for Escaled > 2 MeV, parametrisation of Bragg peak below, Integral mode 1
msc: Model variant of multiple scattering for proton
Lambda tables from 100 eV to 100 TeV in 120 bins.
@@ -137,7 +137,7 @@ msc: Model variant of multiple scattering for proton
MuIoni: tables are built for mu+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 0
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below,
radiative corrections for E > 1 GeV
@@ -159,7 +159,7 @@ MuPairProd: tables are built for mu+
MuIoni: tables are built for mu-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 0
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below,
radiative corrections for E > 1 GeV
@@ -201,8 +201,8 @@ Index : 2 used in the geometry : Yes recalculation needed : No
Current couple of seeds = 9876, 54321
----------------------------------------
---> End of event: 0
Absorber: total energy: 280.51911 MeV total track length: 19.264691 cm
Gap: total energy: 11.548292 MeV total track length: 5.5307824 cm
Absorber: total energy: 262.11291 MeV total track length: 18.054157 cm
Gap: total energy: 7.119194 MeV total track length: 3.1139096 cm
Transportation, hIoni, msc, eIoni
eBrem, annihil, conv, compt
phot, MuIoni, MuBrems, MuPairProd
@@ -213,11 +213,11 @@ Index : 2 used in the geometry : Yes recalculation needed : No
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 582988679, 2123498096
Current couple of seeds = 977069010, 720029362
----------------------------------------
---> End of event: 0
Absorber: total energy: 266.10483 MeV total track length: 19.130814 cm
Gap: total energy: 25.780135 MeV total track length: 13.01794 cm
Absorber: total energy: 286.12027 MeV total track length: 19.333389 cm
Gap: total energy: 13.035624 MeV total track length: 6.0435656 cm
------------------------------------------------------------
---> The calorimeter is 30 layers of: [ 20mm of Aluminium + 50mm of Aerogel ]
@@ -266,8 +266,8 @@ annihil: Total cross section from Heilter formula(annihilation into 2 photons).
hIoni: tables are built for proton
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 0
Bether-Bloch model for Escaled > 2 MeV, parametrisation of Bragg peak below, Integral mode 0
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Bether-Bloch model for Escaled > 2 MeV, parametrisation of Bragg peak below, Integral mode 1
msc: Model variant of multiple scattering for proton
Lambda tables from 100 eV to 100 TeV in 120 bins.
@@ -276,7 +276,7 @@ msc: Model variant of multiple scattering for proton
MuIoni: tables are built for mu+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 0
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below,
radiative corrections for E > 1 GeV
@@ -298,7 +298,7 @@ MuPairProd: tables are built for mu+
MuIoni: tables are built for mu-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 0
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below,
radiative corrections for E > 1 GeV
@@ -311,10 +311,10 @@ msc: Model variant of multiple scattering for pi-
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 627474132, 1958347498
Current couple of seeds = 2081483369, 416920707
----------------------------------------
---> End of event: 0
Absorber: total energy: 413.90611 MeV total track length: 98.024553 cm
Gap: total energy: 84.19009 MeV total track length: 2.3895934 m
Absorber: total energy: 370.42362 MeV total track length: 88.544994 cm
Gap: total energy: 75.314808 MeV total track length: 2.1344949 m
Graphics systems deleted.
Visualization Manager deleting...
+2 -7
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN03PhysicsList.cc,v 1.17 2003/10/24 12:34:15 maire Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// $Id: ExN03PhysicsList.cc,v 1.18 2004/03/19 14:58:21 maire Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
//
@@ -31,13 +31,8 @@
#include "ExN03PhysicsList.hh"
#include "G4ParticleDefinition.hh"
#include "G4ProcessManager.hh"
#include "G4ProcessVector.hh"
#include "G4ParticleTypes.hh"
#include "G4ParticleTable.hh"
#include "G4Material.hh"
#include "G4ios.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -0,0 +1,66 @@
#######################################################################
# MACRO FILE NAME: exN03Vis10.mac #
# #
# AUTHOR(S): Guy Barrand #
# #
# DATE: June 09, 2000 #
# #
# CONTENTS: A basic macro for demonstrating Inventor driver #
# #
# USAGE: % $G4BINDIR/exampleN03 visTutor/exN03Vis6.mac #
# #
# REQUIRED PLATFORMS & SOFTWARES: Windows, #
# some Inventor (TGS, SGI, Coin) #
# #
# ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: #
# (See geant4/source/visualization/README for details.) #
# #
# G4VIS_BUILD_OIWIN32_DRIVER #
# G4UI_BUILD_WIN32_SESSION #
# #
# ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION: #
# (See geant4/source/visualization/README for details.) #
# #
# G4VIS_USE_OIWIN32 #
# G4UI_USE_WIN32 #
# #
# ADDITIONAL NOTES: #
# #
#######################################################################
# Create "scene-0"
/vis/scene/create
# Invoke the OpenInventor driver
/vis/sceneHandler/create OIWin32
/vis/viewer/create
# Add the world volume to the current scene
/vis/scene/add/volume
#/vis/scene/add/trajectories
/tracking/storeTrajectory 1
# Bird-eye view of events
/vis/viewer/reset
/vis/viewer/set/viewpointThetaPhi 45 45
# Attach the just created Go scene graph to the viewer.
/vis/viewer/update
# Attach the just created Go scene graph to the viewer.
/vis/viewer/update
/vis/scene/notifyHandlers
/run/beamOn 1
#######################################################################
# Controls on an Inventor examiner viewer are : #
# - in picking mode (cursor is the upper left arrow) #
# Ctrl + pick an volume : see daughters. #
# Shift + pick an volume : see mother. #
# - in viewing mode (cursor is the hand) #
# Left-button + pointer move : rotate. #
# Ctrl+Left-button + pointer move : pane. #
# Ctrl+Shift+Left-button + pointer move : scale. #
# Middle-button + pointer move : pane. #
# #
#######################################################################
+157
View File
@@ -0,0 +1,157 @@
#######################################################################
# MACRO FILE NAME: exN03Vis1.mac #
# #
# AUTHOR(S): Guy Barrand dd #
# #
# DATE: #
# April 08, 2004 #
# #
# CONTENTS: A basic macro for visualization of detector geometry #
# #
# USAGE: % gmake visclean #
# % $G4BINDIR/exampleN03 #
# Idle> /control/execute visTutor/exN03Vis11.mac #
# #
# REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, OpenGL, #
# DAWN (version 3.85 or after) #
# gv (Ghostview), Tcl/Tk #
# #
# ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: #
# (See geant4/source/visualization/README for details.) #
# #
# % setenv OGLHOME ... (e.g. /usr/X11R6) #
# % setenv G4VIS_BUILD_OPENGLX_DRIVER 1 #
# #
# ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION: #
# (See geant4/source/visualization/README for details.) #
# #
# % setenv G4VIS_USE_OPENGLX 1 #
# #
# ADDITIONAL NOTES: #
# The compound command "/vis/open <vis-driver-name>" #
# is equivalent to the following set of commands: #
# #
# /vis/sceneHandler/create $1 #
# /vis/viewer/create #
# #
# The compound command "/vis/drawVolume <physical-volume-name>" #
# is equivalent to the following set of commands: #
# #
# /vis/scene/create #
# /vis/scene/add/volume $1 #
# /vis/sceneHandler/attach #
# #
#######################################################################
###########################################
# Visualization of detector geometry
# with the OGLSXm (OpenGL Stored Motif) driver
###########################################
# Invoke the OGLSXm driver
/vis/open OGLSXm
# Bird's-eye view of the detector geometry
#
# viewpoint : (theta,phi) = (20*deg, 70*deg),
# zoom factor: 0.8 of the full screen size
#
/vis/viewer/reset
/vis/viewer/set/viewpointThetaPhi 20 70
/vis/viewer/zoom 0.8
/vis/drawVolume
# The following two commands "flush"
# the action of the current viewer.
# They are required for the post-processing drivers
# such as DAWNFILE, VRMLFILE, HepRep drivers, etc.
# For OpenGL drivers, these commands are not required
# but harmless even if they are described.
/vis/viewer/flush
##########################################################
# Visualization with the DAWNFILE driver
#
# * Each visualized view is saved to a file "g4_XX.eps"
# with the "vectorized" PostScript format.
#
# * Set an environmental variable if you wish to
# skip DAWN GUI:
# % setenv G4DAWNFILE_VIEWER "dawn -d"
##########################################################
# Invoke the DAWNFILE driver
/vis/open DAWNFILE
# Bird's-eye view of a detector component (Absorber)
# viewpoint : (theta,phi) = (35*deg, 35*deg),
# zoom factor: 1.1 of the full screen size
# coordinate axes:
# x-axis:red, y-axis:green, z-axis:blue
# origin: (0,0,0), length: 500
# Scale: length = 10 cm, Orientation = z, color = red,
# placing_algorithm = manual,
# center = (-2.5 cm , -5 cm, 0 cm)
#
/vis/viewer/reset
/vis/viewer/zoom 1.1
/vis/viewer/set/viewpointThetaPhi 35 35
/vis/drawVolume Absorber
/vis/scene/add/axes 0 0 0 500 mm
/vis/scene/add/text 0 0 0 mm 40 -100 -140 Absorber
/vis/scene/add/scale 10 cm z 1 0 0 manual -2.5 -5 0 cm
# "Flush the action of all the existing viewers.
# Note: You should execute these commands, e.g.,
# when the current scene is modified.
/vis/scene/notifyHandlers
/vis/viewer/update
# FOR FUTURE UPDATION
#/vis/viewer/flushAll
# Bird's-eye view of a detector component (Gap)
/vis/viewer/reset
/vis/viewer/zoom 1.1
/vis/viewer/set/viewpointThetaPhi 35 35
/vis/drawVolume Gap
/vis/scene/add/axes 0 0 0 500 mm
/vis/scene/add/text 0 0 0 mm 50 -100 -140 Gap
/vis/scene/add/scale 10 cm z 1 0 0 manual -2.5 -5 0 cm
# "Flush the action of all the existing viewers.
/vis/scene/notifyHandlers
/vis/viewer/update
# FOR FUTURE UPDATION
#/vis/viewer/flushAll
# Bird's-eye view of the whole detector components (world)
# * The argument "world" of the command
# "/vis/scene/add/volume" is omittable.
# * "/vis/viewer/set/culling false" makes the invisible
# world volume visible.
# (The invisibility of the world volume is set
# in ExN03DetectorConstruction.cc.)
/vis/viewer/reset
/vis/viewer/zoom 1.1
/vis/viewer/set/viewpointThetaPhi 35 35
/vis/viewer/set/culling global false
/vis/drawVolume
/vis/scene/add/axes 0 0 0 500 mm
/vis/scene/add/text 0 0 0 mm 50 -100 -240 World
/vis/scene/add/scale 10 cm x 1 0 0
# "Flush the action of all the existing viewers.
/vis/scene/notifyHandlers
/vis/viewer/update
# FOR FUTURE UPDATION
#/vis/viewer/flushAll
# Make the culling on for next visualization
# Note: You may also use "/vis/viewer/reset"
# for this initialization.
/vis/viewer/set/culling global true
+101
View File
@@ -0,0 +1,101 @@
#######################################################################
# MACRO FILE NAME: exN03Vis9.mac #
# #
# AUTHOR(S): Guy Barrand
# #
# DATE: #
# Appril 08, 2004 #
# #
# CONTENTS: A simplest macro to demonstrate visualization of #
# detector geometry and events #
# #
# USAGE: % gmake visclean #
# % $G4BINDIR/exampleN03 #
# Idle> /control/execute visTutor/exN03Vis9.mac #
# #
# REQUIRED PLATFORMS & SOFTWARES: Windows, OpenGL #
# OPTIONAL : DAWN (version 3.85 or after) #
# #
# ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: #
# (See geant4/source/visualization/README for details.) #
# #
# G4VIS_BUILD_OPENGLWIN32_DRIVER #
# (G4UI_BUILD_WIN32_SESSION) #
# #
# ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION: #
# (See geant4/source/visualization/README for details.) #
# #
# G4VIS_USE_OPENGLWIN32 #
# (G4UI_USE_WIN32) #
# #
# ADDITIONAL NOTES: #
# The compound command "/vis/open <vis-driver-name>" #
# is equivalent to the following set of commands: #
# #
# /vis/sceneHandler/create $1 #
# /vis/viewer/create #
# #
# The compound command "/vis/drawVolume <physical-volume-name>" #
# is equivalent to the following set of commands: #
# #
# /vis/scene/create #
# /vis/scene/add/volume $1 #
# /vis/sceneHandler/attach #
# #
#######################################################################
##############################################
# Visualization of detector geometry
# with the OGLIWin32 (OpenGL Immediate Windows) driver
##############################################
# Invoke the OGLIWin32 driver
/vis/open OGLIWin32
#/vis/open DAWNFILE
# Set camera
/vis/viewer/reset
/vis/viewer/set/viewpointThetaPhi 70 20
# Create an empty scene and add the detector geometry to it
/vis/drawVolume
# The following command "flush"
# the action of the current viewer.
# They are required for the post-processing drivers
# such as DAWNFILE, VRMLFILE, HepRep drivers, etc.
# For OpenGL drivers, these commands are not required
# but harmless even if they are described.
/vis/viewer/flush
#########################################################
# Visualization of events with the DAWNFILE driver
#
# * Each visualized view is saved to a file "g4_XX.eps"
# with the "vectorized" PostScript format.
#
# * Set an environmental variable if you wish to
# skip DAWN GUI:
# % setenv G4DAWNFILE_VIEWER "dawn -d"
##########################################################
# Invoke the DAWNFILE driver
/vis/open DAWNFILE
# Add the world volume to the current scene
/vis/drawVolume
# Add trajectories to the current scene
# Note: This command is not necessary in exampleN03,
# since the C++ method DrawTrajectory() is
# described in the event action.
#/vis/scene/add/trajectories
# Set camera
/vis/viewer/reset
/vis/viewer/zoom 1.5
/vis/viewer/set/viewpointThetaPhi 70 20
# Visualize events added to the current scene
/tracking/storeTrajectory 1
/run/beamOn 3
+12 -9
View File
@@ -15,15 +15,18 @@
#
# Vis menu :
/gui/addMenu vis Vis
/gui/addButton vis Vis0 "/control/execute visTutor/exN03Vis0.mac"
/gui/addButton vis Vis1 "/control/execute visTutor/exN03Vis1.mac"
/gui/addButton vis Vis2 "/control/execute visTutor/exN03Vis2.mac"
/gui/addButton vis Vis3 "/control/execute visTutor/exN03Vis3.mac"
/gui/addButton vis Vis4 "/control/execute visTutor/exN03Vis4.mac"
/gui/addButton vis Vis5 "/control/execute visTutor/exN03Vis5.mac"
/gui/addButton vis Vis6 "/control/execute visTutor/exN03Vis6.mac"
/gui/addButton vis Vis7 "/control/execute visTutor/exN03Vis7.mac"
/gui/addButton vis Vis8 "/control/execute visTutor/exN03Vis8.mac"
/gui/addButton vis Vis0(OGLIX) "/control/execute visTutor/exN03Vis0.mac"
/gui/addButton vis Vis1(OGLSX) "/control/execute visTutor/exN03Vis1.mac"
/gui/addButton vis Vis2(OGLSX) "/control/execute visTutor/exN03Vis2.mac"
/gui/addButton vis Vis3(OGLSX) "/control/execute visTutor/exN03Vis3.mac"
/gui/addButton vis Vis4(OGLIX) "/control/execute visTutor/exN03Vis4.mac"
/gui/addButton vis Vis5(OIX) "/control/execute visTutor/exN03Vis5.mac"
/gui/addButton vis Vis6(VRML2FILE) "/control/execute visTutor/exN03Vis6.mac"
/gui/addButton vis Vis7(DAWNFILE) "/control/execute visTutor/exN03Vis7.mac"
/gui/addButton vis Vis8(DAWNFILE) "/control/execute visTutor/exN03Vis8.mac"
/gui/addButton vis Vis9(OGLIWIN) "/control/execute visTutor/exN03Vis9.mac"
/gui/addButton vis Vis10(OIWin32) "/control/execute visTutor/exN03Vis10.mac"
/gui/addButton vis Vis11(OGLSXm) "/control/execute visTutor/exN03Vis11.mac"
#
# To limit the output flow in the "dump" widget :
/event/printModulo 100