Import Geant4 9.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 15:37:50 +02:00
parent a8e9364cea
commit 96c8bcd0af
6923 changed files with 198390 additions and 41849 deletions
+13 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.113 2007/06/13 10:36:39 maire Exp $
$Id: History,v 1.117 2007/11/19 20:18:05 perl Exp $
--------------------------------------------------
=========================================================
@@ -15,6 +15,18 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
16-11-07 Laurent Garnier (exampleN03-V09-00-01)
- exampleN03 : Adding Qt render possibility
- visTutor/gui.mac : Adding menu for Qt render
- visTutor/exN03Vis14.mac,visTutor/exN03Vis15.mac : Adding file menu for
Qt render
02-07-07 V.Ivant (exampleN03-V09-00-00)
- make destructors virtual, cleanup
25-06-07 mma (exampleN03-V08-03-02)
- simplifications in exampleN03.cc
13-06-07 mma (exampleN03-V08-03-01)
- more verbose in rndmSeed.mac
+61 -68
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: exampleN03.cc,v 1.30 2006/10/26 14:58:24 allison Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: exampleN03.cc,v 1.33 2007/11/16 10:50:41 lgarnier Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -36,20 +36,8 @@
#include "G4UIterminal.hh"
#include "G4UItcsh.hh"
#ifdef G4UI_USE_XM
#include "G4UIXm.hh"
#endif
#ifdef G4UI_USE_WIN32
#include "G4UIWin32.hh"
#endif
#include "Randomize.hh"
#ifdef G4VIS_USE
#include "G4VisExecutive.hh"
#endif
#include "ExN03DetectorConstruction.hh"
#include "ExN03PhysicsList.hh"
#include "ExN03PrimaryGeneratorAction.hh"
@@ -58,6 +46,25 @@
#include "ExN03SteppingAction.hh"
#include "ExN03SteppingVerbose.hh"
#ifdef G4VIS_USE
#include "G4VisExecutive.hh"
#endif
#ifdef G4UI_USE_XM
#include "G4UIXm.hh"
#endif
#ifdef G4UI_USE_WIN32
#include "G4UIWin32.hh"
#endif
#ifdef G4UI_USE_QT
#include "G4UIQt.hh"
#include "G4Qt.hh"
#include <qapplication.h>
#endif
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
int main(int argc,char** argv)
@@ -68,8 +75,7 @@ int main(int argc,char** argv)
// User Verbose output class
//
G4VSteppingVerbose* verbosity = new ExN03SteppingVerbose;
G4VSteppingVerbose::SetInstance(verbosity);
G4VSteppingVerbose::SetInstance(new ExN03SteppingVerbose);
// Construct the default run manager
//
@@ -82,34 +88,11 @@ int main(int argc,char** argv)
//
G4VUserPhysicsList* physics = new ExN03PhysicsList;
runManager->SetUserInitialization(physics);
G4UIsession* session=0;
if (argc==1) // Define UI session for interactive mode.
{
// G4UIterminal is a (dumb) terminal
//
#if defined(G4UI_USE_XM)
session = new G4UIXm(argc,argv);
#elif defined(G4UI_USE_WIN32)
session = new G4UIWin32();
#elif defined(G4UI_USE_TCSH)
session = new G4UIterminal(new G4UItcsh);
#else
session = new G4UIterminal();
#endif
}
#ifdef G4VIS_USE
// Visualization manager
//
G4VisManager* visManager = new G4VisExecutive;
visManager->Initialize();
#endif
// Set user action classes
//
G4VUserPrimaryGeneratorAction* gen_action = new ExN03PrimaryGeneratorAction(detector);
G4VUserPrimaryGeneratorAction* gen_action =
new ExN03PrimaryGeneratorAction(detector);
runManager->SetUserAction(gen_action);
//
ExN03RunAction* run_action = new ExN03RunAction;
@@ -119,50 +102,60 @@ int main(int argc,char** argv)
runManager->SetUserAction(event_action);
//
G4UserSteppingAction* stepping_action =
new ExN03SteppingAction(detector, event_action);
new ExN03SteppingAction(detector, event_action);
runManager->SetUserAction(stepping_action);
// Initialize G4 kernel
//
runManager->Initialize();
// Get the pointer to the User Interface manager
//
G4UImanager* UI = G4UImanager::GetUIpointer();
if (session) // Define UI session for interactive mode
G4UImanager* UI = G4UImanager::GetUIpointer();
if (argc!=1) // batch mode
{
// G4UIterminal is a (dumb) terminal
//
UI->ApplyCommand("/control/execute vis.mac");
#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();
delete session;
}
else // Batch mode
{
#ifdef G4VIS_USE
visManager->SetVerboseLevel("quiet");
#endif
G4String command = "/control/execute ";
G4String fileName = argv[1];
UI->ApplyCommand(command+fileName);
UI->ApplyCommand(command+fileName);
}
else // interactive mode : define visualization UI terminal
{
#ifdef G4VIS_USE
G4VisManager* visManager = new G4VisExecutive;
visManager->Initialize();
#endif
G4UIsession* session = 0;
#if defined(G4UI_USE_TCSH)
session = new G4UIterminal(new G4UItcsh);
#elif defined(G4UI_USE_XM)
session = new G4UIXm(argc,argv);
UI->ApplyCommand("/control/execute visTutor/gui.mac");
#elif defined(G4UI_USE_WIN32)
session = new G4UIWin32();
UI->ApplyCommand("/control/execute visTutor/gui.mac");
#elif defined(G4UI_USE_QT)
session = new G4UIQt(argc,argv);
UI->ApplyCommand("/control/execute visTutor/gui.mac");
#else
session = new G4UIterminal();
#endif
UI->ApplyCommand("/control/execute vis.mac");
session->SessionStart();
delete session;
#ifdef G4VIS_USE
delete visManager;
#endif
}
// Job termination
// Free the store: user actions, physics_list and detector_description are
// owned and deleted by the run manager, so they should not
// be deleted in the main() program !
#ifdef G4VIS_USE
delete visManager;
#endif
delete runManager;
delete verbosity;
return 0;
}
+58 -88
View File
@@ -1,6 +1,6 @@
*************************************************************
Geant4 version Name: geant4-09-00-cand-03 (29-June-2007)
Geant4 version Name: global-V09-00-02 (14-December-2007)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -9,88 +9,58 @@
***** Table : Nb of materials = 13 *****
Material: Aluminium density: 2.700 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.893 cm
Material: Aluminium density: 2.700 g/cm3 RadL: 8.893 cm Imean: 166.400 eV
---> Element: Aluminium ( ) Z = 13.0 N = 27.0 A = 26.98 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: liquidArgon density: 1.390 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 14.065 cm
Material: liquidArgon density: 1.390 g/cm3 RadL: 14.065 cm Imean: 187.200 eV
---> Element: liquidArgon ( ) Z = 18.0 N = 40.0 A = 39.95 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: Lead density: 11.350 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 5.612 mm
Material: Lead density: 11.350 g/cm3 RadL: 5.612 mm Imean: 820.000 eV
---> Element: Lead ( ) Z = 82.0 N = 207.2 A = 207.19 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: Water density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.092 cm
Material: Water density: 1.000 g/cm3 RadL: 36.092 cm Imean: 75.000 eV
---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 %
Material: Scintillator density: 1.032 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 42.549 cm
Material: Scintillator density: 1.032 g/cm3 RadL: 42.549 cm Imean: 63.913 eV
---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 91.45 % ElmAbundance 47.37 %
---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 8.55 % ElmAbundance 52.63 %
Material: Mylar density: 1.397 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 28.599 cm
Material: Mylar density: 1.397 g/cm3 RadL: 28.599 cm Imean: 75.075 eV
---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 62.49 % ElmAbundance 45.45 %
---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 4.20 % ElmAbundance 36.36 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 33.30 % ElmAbundance 18.18 %
Material: quartz density: 2.200 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 12.295 cm
Material: quartz density: 2.200 g/cm3 RadL: 12.295 cm Imean: 126.007 eV
---> Element: Silicon (Si) Z = 14.0 N = 28.1 A = 28.09 g/mole ElmMassFraction: 46.75 % ElmAbundance 33.33 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 53.25 % ElmAbundance 66.67 %
Material: Air density: 1.290 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 285.161 m
Material: Air density: 1.290 mg/cm3 RadL: 285.161 m Imean: 85.684 eV temperature: 273.15 K pressure: 1.00 atm
---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 70.00 % ElmAbundance 72.71 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 30.00 % ElmAbundance 27.29 %
Material: Aerogel density: 200.000 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.493 m
Material: Aerogel density: 200.000 mg/cm3 RadL: 1.493 m Imean: 100.118 eV
---> Element: Silicon (Si) Z = 14.0 N = 28.1 A = 28.09 g/mole ElmMassFraction: 29.22 % ElmAbundance 11.12 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 66.49 % ElmAbundance 44.42 %
---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 4.19 % ElmAbundance 44.37 %
---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 0.10 % ElmAbundance 0.09 %
Material: CarbonicGas density: 27.000 mg/cm3 temperature: 325.00 K pressure: 50.00 atm RadLength: 13.406 m
Material: CarbonicGas density: 27.000 mg/cm3 RadL: 13.406 m Imean: 90.164 eV temperature: 325.00 K pressure: 50.00 atm
---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 27.29 % ElmAbundance 33.33 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 72.71 % ElmAbundance 66.67 %
Material: WaterSteam density: 0.300 mg/cm3 temperature: 500.00 K pressure: 2.00 atm RadLength: 1.203 km
Material: WaterSteam density: 0.300 mg/cm3 RadL: 1.203 km Imean: 70.893 eV temperature: 500.00 K pressure: 2.00 atm
---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 %
Material: Galactic density: 0.000 mg/cm3 temperature: 2.73 K pressure: 0.00 atm RadLength: 204727576.737 pc
Material: Galactic density: 0.000 mg/cm3 RadL: 204727576.737 pc Imean: 21.800 eV temperature: 2.73 K pressure: 0.00 atm
---> Element: Galactic ( ) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: Beam density: 0.010 mg/cm3 temperature: 273.15 K pressure: 0.02 atm RadLength: 36.786 km
Material: Beam density: 0.010 mg/cm3 RadL: 36.786 km Imean: 85.684 eV temperature: 273.15 K pressure: 0.02 atm
---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 70.00 % ElmAbundance 72.71 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 30.00 % ElmAbundance 27.29 %
Visualization Manager instantiating...
Visualization Manager initialising...
Registering graphics systems...
You have successfully registered the following graphics systems.
Current available graphics systems are:
ASCIITree (ATree)
DAWNFILE (DAWNFILE)
G4HepRep (HepRepXML)
G4HepRepFile (HepRepFile)
RayTracer (RayTracer)
VRML1FILE (VRML1FILE)
VRML2FILE (VRML2FILE)
Registering model factories...
You have successfully registered the following model factories.
Registered model factories:
generic
drawByCharge
drawByParticleID
drawByOriginVolume
drawByAttribute
Registered filter factories:
chargeFilter
particleFilter
originVolumeFilter
attributeFilter
------------------------------------------------------------
---> The calorimeter is 10 layers of: [ 10mm of Lead + 5mm of liquidArgon ]
@@ -120,7 +90,7 @@ eIoni: tables are built for e-
Lambda tables from threshold to 100 TeV in 120 bins.
Delta cross sections and sampling from MollerBhabha model
Good description from 1 KeV to 100 GeV.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1
eBrem: tables are built for e-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
@@ -133,7 +103,7 @@ eIoni: tables are built for e+
Lambda tables from threshold to 100 TeV in 120 bins.
Delta cross sections and sampling from MollerBhabha model
Good description from 1 KeV to 100 GeV.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1
eBrem: tables are built for e+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
@@ -156,7 +126,7 @@ hIoni: tables are built for proton
Scaling relation is used from proton dE/dx and range.
Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV
Parametrisation from Bragg for protons below.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1
hIoni: tables are built for anti_proton
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
@@ -164,7 +134,7 @@ hIoni: tables are built for anti_proton
Scaling relation is used from proton dE/dx and range.
Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV
Parametrisation from Bragg for protons below.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1
msc: Model variant of multiple scattering for mu+
Lambda tables from 100 eV to 100 TeV in 120 bins.
@@ -176,7 +146,7 @@ muIoni: tables are built for mu+
Lambda tables from threshold to 100 TeV in 120 bins.
Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below,
radiative corrections for E > 1 GeV
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1
muBrems: tables are built for mu+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
@@ -193,7 +163,7 @@ muIoni: tables are built for mu-
Lambda tables from threshold to 100 TeV in 120 bins.
Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below,
radiative corrections for E > 1 GeV
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1
muBrems: tables are built for mu-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
@@ -211,7 +181,7 @@ hIoni: tables are built for pi+
Scaling relation is used from proton dE/dx and range.
Delta cross sections and sampling from BetheBloch model for scaled energy > 0.297504 MeV
Parametrisation from Bragg for protons below.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1
msc: Model variant of multiple scattering for pi-
Lambda tables from 100 eV to 100 TeV in 120 bins.
@@ -224,7 +194,7 @@ hIoni: tables are built for pi-
Scaling relation is used from proton dE/dx and range.
Delta cross sections and sampling from BetheBloch model for scaled energy > 0.297504 MeV
Parametrisation from Bragg for protons below.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1
========= Table of registered couples ==============================
@@ -260,16 +230,16 @@ Index : 2 used in the geometry : Yes recalculation needed : No
Current couple of seeds = 9876, 54321
----------------------------------------
---> End of event: 0
Absorber: total energy: 264.2675 MeV total track length: 18.045359 cm
Gap: total energy: 15.152322 MeV total track length: 6.8321887 cm
Absorber: total energy: 272.21636 MeV total track length: 18.48107 cm
Gap: total energy: 9.18773 MeV total track length: 4.6032016 cm
--------------------End of Run------------------------------
mean Energy in Absorber : 264.2675 MeV +- 0 eV
mean Energy in Gap : 15.152322 MeV +- 0 eV
mean Energy in Absorber : 272.21636 MeV +- 0 eV
mean Energy in Gap : 9.18773 MeV +- 0 eV
mean trackLength in Absorber : 18.045359 cm +- 0 fm
mean trackLength in Gap : 6.8321887 cm +- 0 fm
mean trackLength in Absorber : 18.48107 cm +- 0 fm
mean trackLength in Gap : 4.6032016 cm +- 0 fm
------------------------------------------------------------
Transportation, msc, hIoni, eIoni
@@ -300,7 +270,7 @@ eIoni: tables are built for e-
Lambda tables from threshold to 100 TeV in 120 bins.
Delta cross sections and sampling from MollerBhabha model
Good description from 1 KeV to 100 GeV.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1
eBrem: tables are built for e-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
@@ -313,7 +283,7 @@ eIoni: tables are built for e+
Lambda tables from threshold to 100 TeV in 120 bins.
Delta cross sections and sampling from MollerBhabha model
Good description from 1 KeV to 100 GeV.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1
eBrem: tables are built for e+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
@@ -336,7 +306,7 @@ hIoni: tables are built for proton
Scaling relation is used from proton dE/dx and range.
Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV
Parametrisation from Bragg for protons below.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1
hIoni: tables are built for anti_proton
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
@@ -344,7 +314,7 @@ hIoni: tables are built for anti_proton
Scaling relation is used from proton dE/dx and range.
Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV
Parametrisation from Bragg for protons below.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1
msc: Model variant of multiple scattering for mu+
Lambda tables from 100 eV to 100 TeV in 120 bins.
@@ -356,7 +326,7 @@ muIoni: tables are built for mu+
Lambda tables from threshold to 100 TeV in 120 bins.
Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below,
radiative corrections for E > 1 GeV
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1
muBrems: tables are built for mu+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
@@ -373,7 +343,7 @@ muIoni: tables are built for mu-
Lambda tables from threshold to 100 TeV in 120 bins.
Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below,
radiative corrections for E > 1 GeV
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1
muBrems: tables are built for mu-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
@@ -391,7 +361,7 @@ hIoni: tables are built for pi+
Scaling relation is used from proton dE/dx and range.
Delta cross sections and sampling from BetheBloch model for scaled energy > 0.29750425 MeV
Parametrisation from Bragg for protons below.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1
msc: Model variant of multiple scattering for pi-
Lambda tables from 100 eV to 100 TeV in 120 bins.
@@ -404,26 +374,26 @@ hIoni: tables are built for pi-
Scaling relation is used from proton dE/dx and range.
Delta cross sections and sampling from BetheBloch model for scaled energy > 0.29750425 MeV
Parametrisation from Bragg for protons below.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1
### Run 1 start.
---> Begin of event: 0
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 1253212525, 646045331
Current couple of seeds = 1300673559, 29442236
----------------------------------------
---> End of event: 0
Absorber: total energy: 284.30379 MeV total track length: 19.961055 cm
Gap: total energy: 16.718213 MeV total track length: 7.8970321 cm
Absorber: total energy: 279.69725 MeV total track length: 19.381005 cm
Gap: total energy: 15.528062 MeV total track length: 7.792854 cm
--------------------End of Run------------------------------
mean Energy in Absorber : 284.30379 MeV +- 0 eV
mean Energy in Gap : 16.718213 MeV +- 0 eV
mean Energy in Absorber : 279.69725 MeV +- 0 eV
mean Energy in Gap : 15.528062 MeV +- 0 eV
mean trackLength in Absorber : 19.961055 cm +- 0 fm
mean trackLength in Gap : 7.8970321 cm +- 0 fm
mean trackLength in Absorber : 19.381005 cm +- 0 fm
mean trackLength in Gap : 7.792854 cm +- 0 fm
------------------------------------------------------------
@@ -454,7 +424,7 @@ eIoni: tables are built for e-
Lambda tables from threshold to 100 TeV in 120 bins.
Delta cross sections and sampling from MollerBhabha model
Good description from 1 KeV to 100 GeV.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1
eBrem: tables are built for e-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
@@ -467,7 +437,7 @@ eIoni: tables are built for e+
Lambda tables from threshold to 100 TeV in 120 bins.
Delta cross sections and sampling from MollerBhabha model
Good description from 1 KeV to 100 GeV.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1
eBrem: tables are built for e+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
@@ -490,7 +460,7 @@ hIoni: tables are built for proton
Scaling relation is used from proton dE/dx and range.
Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV
Parametrisation from Bragg for protons below.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1
hIoni: tables are built for anti_proton
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
@@ -498,7 +468,7 @@ hIoni: tables are built for anti_proton
Scaling relation is used from proton dE/dx and range.
Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV
Parametrisation from Bragg for protons below.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1
msc: Model variant of multiple scattering for mu+
Lambda tables from 100 eV to 100 TeV in 120 bins.
@@ -510,7 +480,7 @@ muIoni: tables are built for mu+
Lambda tables from threshold to 100 TeV in 120 bins.
Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below,
radiative corrections for E > 1 GeV
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1
muBrems: tables are built for mu+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
@@ -527,7 +497,7 @@ muIoni: tables are built for mu-
Lambda tables from threshold to 100 TeV in 120 bins.
Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below,
radiative corrections for E > 1 GeV
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1
muBrems: tables are built for mu-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
@@ -545,7 +515,7 @@ hIoni: tables are built for pi+
Scaling relation is used from proton dE/dx and range.
Delta cross sections and sampling from BetheBloch model for scaled energy > 0.29750425 MeV
Parametrisation from Bragg for protons below.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1
msc: Model variant of multiple scattering for pi-
Lambda tables from 100 eV to 100 TeV in 120 bins.
@@ -558,25 +528,25 @@ hIoni: tables are built for pi-
Scaling relation is used from proton dE/dx and range.
Delta cross sections and sampling from BetheBloch model for scaled energy > 0.29750425 MeV
Parametrisation from Bragg for protons below.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1
### Run 2 start.
---> Begin of event: 0
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 881683015, 1721671407
Current couple of seeds = 225743317, 1902422135
----------------------------------------
---> End of event: 0
Absorber: total energy: 386.07202 MeV total track length: 91.831752 cm
Gap: total energy: 86.0874 MeV total track length: 2.4638487 m
Absorber: total energy: 396.03022 MeV total track length: 94.946029 cm
Gap: total energy: 101.82199 MeV total track length: 2.8245592 m
--------------------End of Run------------------------------
mean Energy in Absorber : 386.07202 MeV +- 0 eV
mean Energy in Gap : 86.0874 MeV +- 0 eV
mean Energy in Absorber : 396.03022 MeV +- 0 eV
mean Energy in Gap : 101.82199 MeV +- 0 eV
mean trackLength in Absorber : 91.831752 cm +- 0 fm
mean trackLength in Gap : 2.4638487 m +- 0 fm
mean trackLength in Absorber : 94.946029 cm +- 0 fm
mean trackLength in Gap : 2.8245592 m +- 0 fm
------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: ExN03DetectorConstruction.hh,v 1.7 2006/06/29 17:48:32 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
//
@@ -25,7 +25,7 @@
//
//
// $Id: ExN03DetectorMessenger.hh,v 1.7 2006/06/29 17:48:34 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
//
+11 -12
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: ExN03EventAction.hh,v 1.11 2006/10/26 14:30:05 allison Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: ExN03EventAction.hh,v 1.12 2007/07/02 13:22:08 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
//
@@ -45,20 +45,19 @@ class ExN03EventActionMessenger;
class ExN03EventAction : public G4UserEventAction
{
public:
ExN03EventAction(ExN03RunAction*);
~ExN03EventAction();
public:
ExN03EventAction(ExN03RunAction*);
virtual ~ExN03EventAction();
public:
void BeginOfEventAction(const G4Event*);
void EndOfEventAction(const G4Event*);
void BeginOfEventAction(const G4Event*);
void EndOfEventAction(const G4Event*);
void AddAbs(G4double de, G4double dl) {EnergyAbs += de; TrackLAbs += dl;};
void AddGap(G4double de, G4double dl) {EnergyGap += de; TrackLGap += dl;};
void AddAbs(G4double de, G4double dl) {EnergyAbs += de; TrackLAbs += dl;};
void AddGap(G4double de, G4double dl) {EnergyGap += de; TrackLGap += dl;};
void SetPrintModulo(G4int val) {printModulo = val;};
void SetPrintModulo(G4int val) {printModulo = val;};
private:
private:
ExN03RunAction* runAct;
G4double EnergyAbs, EnergyGap;
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: ExN03EventActionMessenger.hh,v 1.9 2006/10/26 14:28:00 allison Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: ExN03EventActionMessenger.hh,v 1.10 2007/07/02 13:22:08 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
//
@@ -46,16 +46,16 @@ class G4UIcmdWithAnInteger;
class ExN03EventActionMessenger: public G4UImessenger
{
public:
ExN03EventActionMessenger(ExN03EventAction*);
~ExN03EventActionMessenger();
public:
ExN03EventActionMessenger(ExN03EventAction*);
virtual ~ExN03EventActionMessenger();
void SetNewValue(G4UIcommand*, G4String);
void SetNewValue(G4UIcommand*, G4String);
private:
ExN03EventAction* eventAction;
G4UIdirectory* eventDir;
G4UIcmdWithAnInteger* PrintCmd;
private:
ExN03EventAction* eventAction;
G4UIdirectory* eventDir;
G4UIcmdWithAnInteger* PrintCmd;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+18 -21
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: ExN03PhysicsList.hh,v 1.12 2006/06/29 17:48:40 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: ExN03PhysicsList.hh,v 1.13 2007/07/02 13:22:08 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
//
@@ -42,29 +42,26 @@
class ExN03PhysicsList: public G4VUserPhysicsList
{
public:
ExN03PhysicsList();
~ExN03PhysicsList();
public:
ExN03PhysicsList();
virtual ~ExN03PhysicsList();
protected:
// Construct particle and physics
void ConstructParticle();
void ConstructProcess();
// Construct particle and physics
void ConstructParticle();
void ConstructProcess();
void SetCuts();
void SetCuts();
protected:
// these methods Construct particles
void ConstructBosons();
void ConstructLeptons();
void ConstructMesons();
void ConstructBaryons();
private:
// these methods Construct particles
void ConstructBosons();
void ConstructLeptons();
void ConstructMesons();
void ConstructBaryons();
protected:
// these methods Construct physics processes and register them
void ConstructGeneral();
void ConstructEM();
// these methods Construct physics processes and register them
void ConstructDecay();
void ConstructEM();
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: ExN03PrimaryGeneratorAction.hh,v 1.7 2006/06/29 17:48:42 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: ExN03PrimaryGeneratorAction.hh,v 1.8 2007/07/02 13:22:08 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
//
@@ -47,20 +47,19 @@ class ExN03PrimaryGeneratorMessenger;
class ExN03PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
{
public:
ExN03PrimaryGeneratorAction(ExN03DetectorConstruction*);
~ExN03PrimaryGeneratorAction();
public:
ExN03PrimaryGeneratorAction(ExN03DetectorConstruction*);
virtual ~ExN03PrimaryGeneratorAction();
public:
void GeneratePrimaries(G4Event*);
void SetRndmFlag(G4String val) { rndmFlag = val;}
void GeneratePrimaries(G4Event*);
void SetRndmFlag(G4String val) { rndmFlag = val;}
private:
G4ParticleGun* particleGun; //pointer a to G4 class
ExN03DetectorConstruction* ExN03Detector; //pointer to the geometry
private:
G4ParticleGun* particleGun; //pointer a to G4 class
ExN03DetectorConstruction* ExN03Detector; //pointer to the geometry
ExN03PrimaryGeneratorMessenger* gunMessenger; //messenger of this class
G4String rndmFlag; //flag for a rndm impact point
ExN03PrimaryGeneratorMessenger* gunMessenger; //messenger of this class
G4String rndmFlag; //flag for a rndm impact point
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: ExN03PrimaryGeneratorMessenger.hh,v 1.7 2006/06/29 17:48:44 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: ExN03PrimaryGeneratorMessenger.hh,v 1.8 2007/07/02 13:22:08 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
//
@@ -46,16 +46,16 @@ class G4UIcmdWithAString;
class ExN03PrimaryGeneratorMessenger: public G4UImessenger
{
public:
ExN03PrimaryGeneratorMessenger(ExN03PrimaryGeneratorAction*);
~ExN03PrimaryGeneratorMessenger();
public:
ExN03PrimaryGeneratorMessenger(ExN03PrimaryGeneratorAction*);
virtual ~ExN03PrimaryGeneratorMessenger();
void SetNewValue(G4UIcommand*, G4String);
void SetNewValue(G4UIcommand*, G4String);
private:
ExN03PrimaryGeneratorAction* ExN03Action;
G4UIdirectory* gunDir;
G4UIcmdWithAString* RndmCmd;
private:
ExN03PrimaryGeneratorAction* ExN03Action;
G4UIdirectory* gunDir;
G4UIcmdWithAString* RndmCmd;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+13 -14
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: ExN03RunAction.hh,v 1.10 2006/06/29 17:48:47 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: ExN03RunAction.hh,v 1.11 2007/07/02 13:22:08 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
//
@@ -44,22 +44,21 @@ class G4Run;
class ExN03RunAction : public G4UserRunAction
{
public:
ExN03RunAction();
~ExN03RunAction();
public:
ExN03RunAction();
virtual ~ExN03RunAction();
public:
void BeginOfRunAction(const G4Run*);
void EndOfRunAction(const G4Run*);
void BeginOfRunAction(const G4Run*);
void EndOfRunAction(const G4Run*);
void fillPerEvent(G4double, G4double, G4double, G4double);
void fillPerEvent(G4double, G4double, G4double, G4double);
private:
G4double sumEAbs, sum2EAbs;
G4double sumEGap, sum2EGap;
private:
G4double sumEAbs, sum2EAbs;
G4double sumEGap, sum2EGap;
G4double sumLAbs, sum2LAbs;
G4double sumLGap, sum2LGap;
G4double sumLAbs, sum2LAbs;
G4double sumLGap, sum2LGap;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: ExN03SteppingAction.hh,v 1.9 2006/06/29 17:48:49 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: ExN03SteppingAction.hh,v 1.10 2007/07/02 13:22:08 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
//
@@ -44,15 +44,15 @@ class ExN03EventAction;
class ExN03SteppingAction : public G4UserSteppingAction
{
public:
ExN03SteppingAction(ExN03DetectorConstruction*, ExN03EventAction*);
~ExN03SteppingAction();
public:
ExN03SteppingAction(ExN03DetectorConstruction*, ExN03EventAction*);
virtual ~ExN03SteppingAction();
void UserSteppingAction(const G4Step*);
void UserSteppingAction(const G4Step*);
private:
ExN03DetectorConstruction* detector;
ExN03EventAction* eventaction;
private:
ExN03DetectorConstruction* detector;
ExN03EventAction* eventaction;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -25,7 +25,7 @@
//
//
// $Id: ExN03SteppingVerbose.hh,v 1.9 2006/06/29 17:48:52 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -25,7 +25,7 @@
//
//
// $Id: ExN03DetectorConstruction.cc,v 1.23 2006/06/29 17:48:54 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
//
@@ -25,7 +25,7 @@
//
//
// $Id: ExN03DetectorMessenger.cc,v 1.10 2006/06/29 17:48:58 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
//
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: ExN03EventAction.cc,v 1.28 2006/10/26 14:30:05 allison Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
//
@@ -25,7 +25,7 @@
//
//
// $Id: ExN03EventActionMessenger.cc,v 1.12 2006/10/26 14:28:00 allison Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
//
+8 -8
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: ExN03PhysicsList.cc,v 1.20 2006/06/29 17:49:05 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: ExN03PhysicsList.cc,v 1.21 2007/07/02 13:22:08 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
//
@@ -41,8 +41,8 @@
ExN03PhysicsList::ExN03PhysicsList(): G4VUserPhysicsList()
{
defaultCutValue = 1.0*mm;
SetVerboseLevel(1);
defaultCutValue = 1.0*mm;
SetVerboseLevel(1);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -118,7 +118,7 @@ void ExN03PhysicsList::ConstructMesons()
void ExN03PhysicsList::ConstructBaryons()
{
// barions
// barions
G4Proton::ProtonDefinition();
G4AntiProton::AntiProtonDefinition();
G4Neutron::NeutronDefinition();
@@ -132,7 +132,7 @@ void ExN03PhysicsList::ConstructProcess()
{
AddTransportation();
ConstructEM();
ConstructGeneral();
ConstructDecay();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -204,10 +204,10 @@ void ExN03PhysicsList::ConstructEM()
#include "G4Decay.hh"
void ExN03PhysicsList::ConstructGeneral()
void ExN03PhysicsList::ConstructDecay()
{
// Add Decay Process
G4Decay* theDecayProcess = new G4Decay();
G4Decay* theDecayProcess = new G4Decay();
theParticleIterator->reset();
while( (*theParticleIterator)() ){
G4ParticleDefinition* particle = theParticleIterator->value();
@@ -25,7 +25,7 @@
//
//
// $Id: ExN03PrimaryGeneratorAction.cc,v 1.8 2006/06/29 17:49:07 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
//
@@ -25,7 +25,7 @@
//
//
// $Id: ExN03PrimaryGeneratorMessenger.cc,v 1.9 2006/06/29 17:49:09 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
//
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: ExN03RunAction.cc,v 1.18 2006/06/29 17:49:11 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -25,7 +25,7 @@
//
//
// $Id: ExN03SteppingAction.cc,v 1.15 2006/06/29 17:49:13 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
//
@@ -25,7 +25,7 @@
//
//
// $Id: ExN03SteppingVerbose.cc,v 1.13 2006/06/29 17:49:16 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+156
View File
@@ -0,0 +1,156 @@
#######################################################################
# MACRO FILE NAME: exN03Vis14.mac #
# #
# AUTHOR(S): Laurent Garnier #
# #
# DATE: July 13, 2007 #
# #
# CONTENTS: A basic macro for visualization of detector geometry #
# #
# USAGE: % gmake visclean #
# % $G4BINDIR/exampleN03 #
# Idle> /control/execute visTutor/exN03Vis14.mac #
# #
# REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, OpenGL,Qt #
# 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_OPENGLQT_DRIVER 1 #
# #
# ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION: #
# (See geant4/source/visualization/README for details.) #
# #
# % setenv G4VIS_USE_OPENGLQT 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 OGLSQT (OpenGL Stored QT) driver
###########################################
# Invoke the OGLSQT driver
/vis/open OGLSQT
# 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
@@ -0,0 +1,70 @@
#######################################################################
# MACRO FILE NAME: exN03Vis12.mac #
# #
# AUTHOR(S): Laurent Garnier #
# #
# DATE: July 01, 2007 #
# #
# CONTENTS: A basic macro for demonstrating Inventor driver #
# #
# USAGE: % $G4BINDIR/exampleN03 visTutor/exN03Vis12.mac #
# #
# REQUIRED PLATFORMS & SOFTWARES: Unix, Motif, X-window, OpenGL,Qt #
# HEPVis #
# Inventor (TGS or SoFree) #
# #
# ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: #
# (See geant4/source/visualization/README for details.) #
# #
# % setenv G4VIS_BUILD_OIX_DRIVER 1 #
# #
# ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION: #
# (See geant4/source/visualization/README for details.) #
# #
# % setenv G4VIS_USE_OIQT 1 #
# #
# ADDITIONAL NOTES: #
# #
#######################################################################
# Create "scene-0"
/vis/scene/create
# Invoke the OpenInventor driver
/vis/sceneHandler/create OGLIQT
/vis/viewer/create
# Add the world volume to the current scene
/vis/scene/add/volume
#/vis/scene/add/volume Layer
# Name of the absorbers = name of their material (Lead) !
#/vis/scene/add/volume Lead
# Name of the gaps = name of their material (liquidArgon) !
#/vis/scene/add/volume liquidArgon
#/vis/scene/add/trajectories
/tracking/storeTrajectory 1
# Bird-eye view of events
/vis/viewer/reset
/vis/viewer/set/viewpointThetaPhi 45 45
/vis/scene/notifyHandlers
/control/verbose 2
#######################################################################
# Controls on an Inventor examiner viewer are : #
# - in picking mode (cursor is the upper left arrow) #
# Ctrl + pick a volume : see daughters. #
# Shift + pick a 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. #
# #
#######################################################################
/vis/viewer/update
/run/beamOn 1
+2
View File
@@ -32,6 +32,8 @@
/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 Vis15(OGLIQT) "/control/execute visTutor/exN03Vis15.mac"
/gui/addButton vis Vis14(OGLSQT) "/control/execute visTutor/exN03Vis14.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"