Import Geant4 10.7.0 source tree

This commit is contained in:
Gabriele Cosmo
2020-12-04 12:30:43 +01:00
parent 67ba86d073
commit dab42d2018
3770 changed files with 226369 additions and 286486 deletions
+40 -40
View File
@@ -4,17 +4,17 @@
/*! \page ExampleAnaEx01 Example AnaEx01
Examples AnaEx01, AnaEx02 and AnaEx03 show the usage of histogram and tuple
Examples AnaEx01, AnaEx02 and AnaEx03 show the usage of histogram and tuple
manipulations using G4Analysis, ROOT and AIDA compliant systems on the same
scenario. All analysis manipulations (histo booking, filling, saving histos
in a file, etc...) are located in one class : HistoManager, implementation of
which is different in each example. All the other classes are same in all
scenario. All analysis manipulations (histo booking, filling, saving histos
in a file, etc...) are located in one class : HistoManager, implementation of
which is different in each example. All the other classes are same in all
three examples.
This example shows the usage of histogram and tuple manipulations using
This example shows the usage of histogram and tuple manipulations using
G4Analysis system.
The example is an adaptation of examples/novice/N03. It describes a simple
The example is an adaptation of examples/novice/N03. It describes a simple
sampling calorimeter setup.
\section AnaEx01_s1 Detector description
@@ -22,15 +22,15 @@
The calorimeter is a box made of a given number of layers. A layer
consists of an absorber plate and of a detection gap. The layer is
replicated.
Six parameters define the calorimeter :
- the material of the absorber,
- the thickness of an absorber plate,
- the material of the detection gap,
- the thickness of a gap,
- the number of layers,
- the transverse size of the calorimeter (the input face is a square).
- the transverse size of the calorimeter (the input face is a square).
The default geometry is constructed in DetectorConstruction class,
but all of the above parameters can be modified interactively via
the commands defined in the DetectorMessenger class.
@@ -47,7 +47,7 @@
==========================================================================
</pre>
\section AnaEx01_s2 Physics list
The particle's type and the physic processes which will be available
@@ -55,20 +55,20 @@
\section AnaEx01_s3 Action Initialization
A newly introduced class, ActionInitialization,
instantiates and registers to Geant4 kernel all user action classes
A newly introduced class, ActionInitialization,
instantiates and registers to Geant4 kernel all user action classes
which are defined thread-local and a run action class
which is defined both thread-local and global.
The thread-local action classes are defined in
ActionInitialization::Build()
and the global run action class is defined in
The thread-local action classes are defined in
ActionInitialization::Build()
and the global run action class is defined in
ActionInitialization::BuildForMaster().
Note that ActionInitialization::Build() is also used to
Note that ActionInitialization::Build() is also used to
instatiate user action clasess in sequential mode.
\section AnaEx01_s4 An event : PrimaryGeneratorAction
The primary kinematic consists of a single particle which hits the
calorimeter perpendicular to the input face. The type of the particle
and its energy are set in the PrimaryGeneratorAction class, and can
@@ -78,31 +78,31 @@
\section AnaEx01_s5 Histograms
AnaEx01 can produce 4 histograms :
- EAbs : total energy deposit in absorber per event
- EGap : total energy deposit in gap per event
- LAbs : total track length of charged particles in absorber per event
- LGap : total track length of charged particles in gap per event
- EGap : total energy deposit in gap per event
- LAbs : total track length of charged particles in absorber per event
- LGap : total track length of charged particles in gap per event
And 2 Ntuples :
- Ntuple1:
- one row per event : EnergyAbs EnergyGap
- Ntuple2:
- one row per event : TrackLAbs TrackLGap
These histos and ntuples are booked in HistoManager and filled from
These histos and ntuples are booked in HistoManager and filled from
EventAction.
One can control the name of the histograms file and its format:
- default name : AnaEx01
- default name : AnaEx01
The format of the histogram file can be : root (default),
xml, csv. Include correct g4nnn.hh in HistoManager.hh
xml, csv. Include correct g4nnn.hh in HistoManager.hh
\section AnaEx01_s7 How to build
An additional step is needed when building the example with GNUmake
due to using the extra shared directory:
\verbatim
due to using the extra shared directory:
\verbatim
% cd path_to_AnaEx01/AnaEx01
% gmake setup
% gmake
@@ -110,7 +110,7 @@
This will copy the files from shared in the example include and src;
to remove these files:
\verbatim
\verbatim
% gmake clean_setup
\endverbatim
@@ -122,24 +122,24 @@
and type in the commands from run.mac line by line:
Idle> /control/verbose 2
Idle> /tracking/verbose 1
Idle> /run/beamOn 10
Idle> /run/beamOn 10
Idle> ...
Idle> exit
\endverbatim
\endverbatim
or
\verbatim
Idle> /control/execute run.mac
....
Idle> exit
\endverbatim
\endverbatim
- Execute AnaEx01 in the 'batch' mode from macro files
- Execute AnaEx01 in the 'batch' mode from macro files
(without visualization)
\verbatim
% ./AnaEx01 run.mac
% ./AnaEx01 run.mac > run.out
\endverbatim
\endverbatim
The AnaEx01.in macro is used in Geant4 testing.
*/
+8 -16
View File
@@ -35,11 +35,7 @@
#include "DetectorConstruction.hh"
#include "ActionInitialization.hh"
#ifdef G4MULTITHREADED
#include "G4MTRunManager.hh"
#else
#include "G4RunManager.hh"
#endif
#include "G4RunManagerFactory.hh"
#include "G4UImanager.hh"
#include "FTFP_BERT.hh"
@@ -50,7 +46,7 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
int main(int argc,char** argv)
{
{
// Detect interactive mode (if no arguments) and define UI session
//
G4UIExecutive* ui = 0;
@@ -60,13 +56,9 @@ int main(int argc,char** argv)
// Construct the default run manager
//
#ifdef G4MULTITHREADED
auto* runManager = G4RunManagerFactory::CreateRunManager();
G4int nThreads = 4;
G4MTRunManager * runManager = new G4MTRunManager;
runManager->SetNumberOfThreads(nThreads);
#else
G4RunManager * runManager = new G4RunManager;
#endif
// Set mandatory initialization classes
//
@@ -83,20 +75,20 @@ int main(int argc,char** argv)
// Get the pointer to the User Interface manager
//
G4UImanager* UImanager = G4UImanager::GetUIpointer();
if ( ! ui ) {
// batch mode
G4String command = "/control/execute ";
G4String fileName = argv[1];
UImanager->ApplyCommand(command+fileName);
UImanager->ApplyCommand(command+fileName);
}
else {
else {
// interactive mode
UImanager->ApplyCommand("/control/execute init_vis.mac");
UImanager->ApplyCommand("/control/execute init_vis.mac");
ui->SessionStart();
delete ui;
}
// Job termination
delete visManager;
delete runManager;
+137 -88
View File
@@ -1,10 +1,11 @@
Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Forcing G4RunManager type...
############################################
!!! WARNING - FPE detection is activated !!!
############################################
**************************************************************
Geant4 version Name: geant4-10-06-ref-06 (26-June-2020)
Geant4 version Name: geant4-10-07-ref-00 (4-December-2020)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -15,7 +16,7 @@
***** Table : Nb of materials = 3 *****
Material: G4_Galactic density: 0.000 kg/m3 RadL: 204310101.835 pc Nucl.Int.Length: 113427275.267 pc
Material: G4_Galactic density: 0.000 mg/cm3 RadL: 204310098.490 pc Nucl.Int.Length: 113427284.261 pc
Imean: 21.800 eV temperature: 2.73 K pressure: 0.00 atm
---> Element: H (H) Z = 1.0 N = 1 A = 1.008 g/mole
@@ -62,10 +63,12 @@ Registered graphics systems are:
VRML1FILE (VRML1FILE)
VRML2FILE (VRML2FILE)
gMocrenFile (gMocrenFile)
OpenGLImmediateXm (OGLIXm, OGLI)
OpenGLStoredXm (OGLSXm, OGL, OGLS)
OpenGLImmediateX (OGLIX, OGLIXm_FALLBACK)
OpenGLStoredX (OGLSX, OGLSXm_FALLBACK)
OpenGLImmediateQt (OGLIQt, OGLI)
OpenGLStoredQt (OGLSQt, OGL, OGLS)
OpenGLImmediateXm (OGLIXm, OGLIQt_FALLBACK)
OpenGLStoredXm (OGLSXm, OGLSQt_FALLBACK)
OpenGLImmediateX (OGLIX, OGLIQt_FALLBACK, OGLIXm_FALLBACK)
OpenGLStoredX (OGLSX, OGLSQt_FALLBACK, OGLSXm_FALLBACK)
RayTracerX (RayTracerX)
Registering model factories...
@@ -104,7 +107,7 @@ Some /vis commands (optionally) take a string to specify colour.
---> The calorimeter is 10 layers of: [ 10mm of G4_Pb + 5mm of G4_lAr ]
------------------------------------------------------------
FTFP_BERT : new threshold between BERT and FTFP is over the interval
hInelastic FTFP_BERT : threshold between BERT and FTFP is over the interval
for pions : 3 to 6 GeV
for kaons : 3 to 6 GeV
for proton : 3 to 6 GeV
@@ -135,10 +138,11 @@ Rayl: for gamma SubType=11 BuildTable=1
LivermoreRayleigh : Emin= 0 eV Emax= 100 TeV CullenGenerator
msc: for e- SubType= 10
RangeFactor= 0.04, stepLimType: 1, latDisp: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc : Emin= 0 eV Emax= 100 MeV Nbins=42 100 eV - 100 MeV
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llimit=1
WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=42 100 MeV - 100 TeV
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llimit=1
eIoni: for e- SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -162,10 +166,11 @@ CoulombScat: for e-, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
msc: for e+ SubType= 10
RangeFactor= 0.04, stepLimType: 1, latDisp: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc : Emin= 0 eV Emax= 100 MeV Nbins=42 100 eV - 100 MeV
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llimit=1
WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=42 100 MeV - 100 TeV
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llimit=1
eIoni: for e+ SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -193,9 +198,9 @@ CoulombScat: for e+, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
msc: for proton SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
hIoni: for proton SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -209,14 +214,14 @@ hBrems: for proton SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
hBrem : Emin= 0 eV Emax= 100 TeV
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
hPairProd: for proton SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 17x1001 from 7.50618 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 100 TeV
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
CoulombScat: for proton, integral:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 1
@@ -225,9 +230,9 @@ CoulombScat: for proton, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for GenericIon SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc : Emin= 0 eV Emax= 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
ionIoni: for GenericIon SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -239,9 +244,9 @@ ionIoni: for GenericIon SubType=2
BetheBloch : Emin= 2 MeV Emax= 100 TeV
msc: for alpha SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
ionIoni: for alpha SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -252,9 +257,9 @@ ionIoni: for alpha SubType=2
BetheBloch : Emin=7.9452 MeV Emax= 100 TeV
msc: for anti_proton SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
hIoni: for anti_proton SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -268,14 +273,14 @@ hBrems: for anti_proton SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
hBrem : Emin= 0 eV Emax= 100 TeV
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
hPairProd: for anti_proton SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 17x1001 from 7.50618 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 100 TeV
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
CoulombScat: for anti_proton, integral:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 1
@@ -284,9 +289,9 @@ CoulombScat: for anti_proton, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for kaon+ SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
hIoni: for kaon+ SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -300,14 +305,14 @@ hBrems: for kaon+ SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
hBrem : Emin= 0 eV Emax= 100 TeV
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
hPairProd: for kaon+ SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 18x1001 from 3.94942 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 100 TeV
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
CoulombScat: for kaon+, integral:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 1
@@ -316,9 +321,9 @@ CoulombScat: for kaon+, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for kaon- SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
hIoni: for kaon- SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -332,14 +337,14 @@ hBrems: for kaon- SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
hBrem : Emin= 0 eV Emax= 100 TeV
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
hPairProd: for kaon- SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 18x1001 from 3.94942 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 100 TeV
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
CoulombScat: for kaon-, integral:1 SubType=1 BuildTable=1
Used Lambda table of kaon+
@@ -348,9 +353,9 @@ CoulombScat: for kaon-, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for mu+ SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0, polarAngLim(deg)= 180
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
muIoni: for mu+ SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -365,14 +370,14 @@ muBrems: for mu+ SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
MuBrem : Emin= 0 eV Emax= 100 TeV
MuBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
muPairProd: for mu+ SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 21x1001 from 1 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
muPairProd : Emin= 0 eV Emax= 100 TeV
muPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
CoulombScat: for mu+, integral:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 1
@@ -381,9 +386,9 @@ CoulombScat: for mu+, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for mu- SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0, polarAngLim(deg)= 180
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
muIoni: for mu- SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -398,14 +403,14 @@ muBrems: for mu- SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
MuBrem : Emin= 0 eV Emax= 100 TeV
MuBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
muPairProd: for mu- SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 21x1001 from 1 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
muPairProd : Emin= 0 eV Emax= 100 TeV
muPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
CoulombScat: for mu-, integral:1 SubType=1 BuildTable=1
Used Lambda table of mu+
@@ -414,9 +419,9 @@ CoulombScat: for mu-, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for pi+ SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
hIoni: for pi+ SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -430,14 +435,14 @@ hBrems: for pi+ SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
hBrem : Emin= 0 eV Emax= 100 TeV
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
hPairProd: for pi+ SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 20x1001 from 1.11656 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 100 TeV
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
CoulombScat: for pi+, integral:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 1
@@ -446,9 +451,9 @@ CoulombScat: for pi+, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for pi- SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
hIoni: for pi- SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -462,14 +467,14 @@ hBrems: for pi- SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
hBrem : Emin= 0 eV Emax= 100 TeV
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
hPairProd: for pi- SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 20x1001 from 1.11656 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 100 TeV
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Used Lambda table of pi+
@@ -498,6 +503,28 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Process: nKiller
---------------------------------------------------
Hadronic Processes for B-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: B-Inelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
Hadronic Processes for D-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: D-Inelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
Hadronic Processes for GenericIon
@@ -572,6 +599,19 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Process: hFritiofCaptureAtRest
---------------------------------------------------
Hadronic Processes for anti_lambda
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: anti_lambdaInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
Hadronic Processes for anti_neutron
@@ -683,8 +723,8 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: lambdaInelastic
Model: BertiniCascade: 0 eV ---> 6 GeV
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
@@ -749,8 +789,8 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: sigma-Inelastic
Model: BertiniCascade: 0 eV ---> 6 GeV
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
@@ -791,12 +831,12 @@ Store e- internal conversion data 0
Electron internal conversion ID 2
Correlated gamma emission flag 0
Max 2J for sampling of angular correlations 10
Upload data before 1st event for Z < 9
=======================================================================
G4VisManager: Using G4TrajectoryDrawByCharge as fallback trajectory model.
See commands in /vis/modeling/trajectories/ for other options.
### Run 0 start.
... open Root analysis file : AnaEx01.root - done
... create file : AnaEx01.root - done
... open analysis file : AnaEx01.root - done
----> Output file is open in AnaEx01.root
@@ -822,25 +862,28 @@ See commands in /vis/modeling/trajectories/ for other options.
--------------------End of Run------------------------------
mean Energy in Absorber : 453.814 MeV +- 12.6767 MeV
mean Energy in Gap : 23.9168 MeV +- 6.98106 MeV
mean Energy in Absorber : 452.725 MeV +- 15.8845 MeV
mean Energy in Gap : 24.7025 MeV +- 7.34604 MeV
mean trackLength in Absorber : 32.6945 cm +- 9.87423 mm
mean trackLength in Gap : 11.8371 cm +- 3.57806 cm
mean trackLength in Absorber : 32.576 cm +- 1.26658 cm
mean trackLength in Gap : 12.2313 cm +- 3.75875 cm
------------------------------------------------------------
----> print histograms statistic
EAbs: mean = 453.814 MeV rms = 12.6767 MeV
EGap: mean = 23.9168 MeV rms = 6.98106 MeV
LAbs: mean = 32.6945 cm rms = 9.87423 mm
LGap: mean = 11.8371 cm rms = 3.57806 cm
... write Root file : AnaEx01.root - done
... close Root file : AnaEx01.root - done
EAbs: mean = 452.725 MeV rms = 15.8845 MeV
EGap: mean = 24.7025 MeV rms = 7.34604 MeV
LAbs: mean = 32.576 cm rms = 1.26658 cm
LGap: mean = 12.2313 cm rms = 3.75875 cm
... write file : AnaEx01.root - done
... close file : AnaEx01.root - done
----> Histograms and ntuples are saved
0 events have been kept for refreshing and/or reviewing.
"/vis/reviewKeptEvents" to review them one by one.
"/vis/enable", then "/vis/viewer/flush" or "/vis/viewer/rebuild" to see them accumulated.
#
/det/setAbsMat G4_Al
/det/setGapMat G4_Air
@@ -882,10 +925,11 @@ Rayl: for gamma SubType=11 BuildTable=1
LivermoreRayleigh : Emin= 0 eV Emax= 100 TeV CullenGenerator
msc: for e- SubType= 10
RangeFactor= 0.04, stepLimType: 1, latDisp: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc : Emin= 0 eV Emax= 100 MeV Nbins=42 100 eV - 100 MeV
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llimit=1
WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=42 100 MeV - 100 TeV
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llimit=1
eIoni: for e- SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -909,10 +953,11 @@ CoulombScat: for e-, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
msc: for e+ SubType= 10
RangeFactor= 0.04, stepLimType: 1, latDisp: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc : Emin= 0 eV Emax= 100 MeV Nbins=42 100 eV - 100 MeV
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llimit=1
WentzelVIUni : Emin= 100 MeV Emax= 100 TeV Nbins=42 100 MeV - 100 TeV
StepLim=UseSafety Rfact=0.04 Gfact=2.5 Sfact=0.6 DispFlag:1 Skin=1 Llimit=1
eIoni: for e+ SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -940,9 +985,9 @@ CoulombScat: for e+, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
msc: for proton SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
hIoni: for proton SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -956,14 +1001,14 @@ hBrems: for proton SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
hBrem : Emin= 0 eV Emax= 100 TeV
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
hPairProd: for proton SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 17x1001 from 7.50618 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 100 TeV
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
CoulombScat: for proton, integral:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 1
@@ -972,9 +1017,9 @@ CoulombScat: for proton, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for GenericIon SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc : Emin= 0 eV Emax= 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
ionIoni: for GenericIon SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -986,9 +1031,9 @@ ionIoni: for GenericIon SubType=2
BetheBloch : Emin= 2 MeV Emax= 100 TeV
msc: for alpha SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
ionIoni: for alpha SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -999,9 +1044,9 @@ ionIoni: for alpha SubType=2
BetheBloch : Emin=7.9452 MeV Emax= 100 TeV
msc: for anti_proton SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
hIoni: for anti_proton SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -1015,14 +1060,14 @@ hBrems: for anti_proton SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
hBrem : Emin= 0 eV Emax= 100 TeV
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
hPairProd: for anti_proton SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 17x1001 from 7.50618 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 100 TeV
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
CoulombScat: for anti_proton, integral:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 1
@@ -1031,9 +1076,9 @@ CoulombScat: for anti_proton, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for kaon+ SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
hIoni: for kaon+ SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -1047,14 +1092,14 @@ hBrems: for kaon+ SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
hBrem : Emin= 0 eV Emax= 100 TeV
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
hPairProd: for kaon+ SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 18x1001 from 3.94942 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 100 TeV
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
CoulombScat: for kaon+, integral:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 1
@@ -1063,9 +1108,9 @@ CoulombScat: for kaon+, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for kaon- SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
hIoni: for kaon- SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -1079,14 +1124,14 @@ hBrems: for kaon- SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
hBrem : Emin= 0 eV Emax= 100 TeV
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
hPairProd: for kaon- SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 18x1001 from 3.94942 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 100 TeV
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
CoulombScat: for kaon-, integral:1 SubType=1 BuildTable=1
Used Lambda table of kaon+
@@ -1095,9 +1140,9 @@ CoulombScat: for kaon-, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for mu+ SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0, polarAngLim(deg)= 180
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
muIoni: for mu+ SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -1112,14 +1157,14 @@ muBrems: for mu+ SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
MuBrem : Emin= 0 eV Emax= 100 TeV
MuBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
muPairProd: for mu+ SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 21x1001 from 1 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
muPairProd : Emin= 0 eV Emax= 100 TeV
muPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
CoulombScat: for mu+, integral:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 1
@@ -1128,9 +1173,9 @@ CoulombScat: for mu+, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for mu- SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0, polarAngLim(deg)= 180
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
muIoni: for mu- SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -1145,14 +1190,14 @@ muBrems: for mu- SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
MuBrem : Emin= 0 eV Emax= 100 TeV
MuBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
muPairProd: for mu- SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 21x1001 from 1 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
muPairProd : Emin= 0 eV Emax= 100 TeV
muPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
CoulombScat: for mu-, integral:1 SubType=1 BuildTable=1
Used Lambda table of mu+
@@ -1161,9 +1206,9 @@ CoulombScat: for mu-, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for pi+ SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
hIoni: for pi+ SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -1177,14 +1222,14 @@ hBrems: for pi+ SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
hBrem : Emin= 0 eV Emax= 100 TeV
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
hPairProd: for pi+ SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 20x1001 from 1.11656 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 100 TeV
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
CoulombScat: for pi+, integral:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 1
@@ -1193,9 +1238,9 @@ CoulombScat: for pi+, integral:1 SubType=1 BuildTable=1
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
msc: for pi- SubType= 10
RangeFactor= 0.2, stepLimType: 0, latDisp: 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
WentzelVIUni : Emin= 0 eV Emax= 100 TeV Nbins=84 100 eV - 100 TeV
StepLim=Minimal Rfact=0.2 Gfact=2.5 Sfact=0.6 DispFlag:0 Skin=1 Llimit=1
hIoni: for pi- SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
@@ -1209,14 +1254,14 @@ hBrems: for pi- SubType=3
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
hBrem : Emin= 0 eV Emax= 100 TeV
hBrem : Emin= 0 eV Emax= 100 TeV ModifiedMephi
hPairProd: for pi- SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 20x1001 from 1.11656 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 100 TeV
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Used Lambda table of pi+
@@ -1224,7 +1269,8 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
### Run 1 start.
... open Root analysis file : AnaEx01.root - done
... create file : AnaEx01.root - done
... open analysis file : AnaEx01.root - done
----> Output file is open in AnaEx01.root
@@ -1232,24 +1278,27 @@ CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
--------------------End of Run------------------------------
mean Energy in Absorber : 149.44 MeV +- 0 eV
mean Energy in Gap : 37.341 MeV +- 0 eV
mean Energy in Absorber : 234.77 MeV +- 0 eV
mean Energy in Gap : 57.6799 MeV +- 0 eV
mean trackLength in Absorber : 37.7896 cm +- 0 fm
mean trackLength in Gap : 18.4465 cm +- 0 fm
mean trackLength in Absorber : 57.4741 cm +- 0 fm
mean trackLength in Gap : 29.6956 cm +- 0 fm
------------------------------------------------------------
----> print histograms statistic
EAbs: mean = 149.44 MeV rms = 0 eV
EGap: mean = 37.341 MeV rms = 0 eV
LAbs: mean = 37.7896 cm rms = 0 fm
LGap: mean = 18.4465 cm rms = 0 fm
... write Root file : AnaEx01.root - done
... close Root file : AnaEx01.root - done
EAbs: mean = 234.77 MeV rms = 0 eV
EGap: mean = 57.6799 MeV rms = 0 eV
LAbs: mean = 57.4741 cm rms = 0 fm
LGap: mean = 29.6956 cm rms = 0 fm
... write file : AnaEx01.root - done
... close file : AnaEx01.root - done
----> Histograms and ntuples are saved
0 events have been kept for refreshing and/or reviewing.
"/vis/reviewKeptEvents" to review them one by one.
"/vis/enable", then "/vis/viewer/flush" or "/vis/viewer/rebuild" to see them accumulated.
Graphics systems deleted.
Visualization Manager deleting...
@@ -1,6 +1,9 @@
#----------------------------------------------------------------------------
# Setup the project
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
cmake_minimum_required(VERSION 3.8...3.18)
if(${CMAKE_VERSION} VERSION_LESS 3.12)
cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
endif()
project(AnaEx01)
#----------------------------------------------------------------------------
+50 -46
View File
@@ -14,8 +14,12 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
10-11-20 B. Morgan, I. Hrivnacova (AnaEx01-V10-06-00)
- Migration to G4RunManagerFactory.
- Call SetNtupleMerging only in MT to suppress warning in Seq mode.
15-10-18 G. Cosmo (AnaEx01-V10-04-02)
- Added missing include of G4SteateManager.hh in DetectorConstruction source.
- Added missing include of G4StateManager.hh in DetectorConstruction source.
04-07-18 I. Hrivnacova (AnaEx01-V10-04-01)
- Fixed compilation error introduced in previous tag
@@ -23,7 +27,7 @@ track of all tags.
03-07-18 I. Hrivnacova (AnaEx01-V10-04-00)
- Macro & commands review:
- Removed obsolete /N03 top command directory
- Added protection against warnings issued from ReinitializeGeometry() if
- Added protection against warnings issued from ReinitializeGeometry() if
called in PreInit phase
- Added test for all commands defined in this example in AnaEx01.in
- Updated README files
@@ -48,7 +52,7 @@ track of all tags.
- Updated hbook for developments in analysis category
01-09-15 I. Hrivnacova (AnaEx01-V10-01-08)
- New attempt to fix compilation on Windows
- New attempt to fix compilation on Windows
30-08-15 I. Hrivnacova (AnaEx01-V10-01-07)
- Corrected previous update which caused compilation error
@@ -61,8 +65,8 @@ track of all tags.
27-08-15 I. Hrivnacova (AnaEx01-V10-01-04)
- Introduced meaningful histograms and ntuple names instead of numbers
in all AnaEx0N examples and use histogram ids starting from 0
- Simplified HistoManager class and fixed function names to follow
in all AnaEx0N examples and use histogram ids starting from 0
- Simplified HistoManager class and fixed function names to follow
coding guidelines
- In hbook:
- Fixed Set*AxisTitle methods
@@ -81,16 +85,16 @@ track of all tags.
24-08-15 I. Hrivnacova (AnaEx01-V10-01-02)
- Fix in hbook:
Do not delete h1, h2 and p1 in Reset();
Do not delete h1, h2 and p1 in Reset();
this avoids error message at CloseFile():
***** ERROR in HDELET : Unknown histogram : ID= 1
... close Hbook file : AnaEx01.hbook - done
***** ERROR in HDELET : Unknown histogram : ID= 1
... close Hbook file : AnaEx01.hbook - done
17-08-15 I. Hrivnacova (AnaEx01-V10-01-01)
- Updated hbook for developments in analysis category:
new G4VAnalysisManager functions:
new G4VAnalysisManager functions:
virtual G4bool PlotImpl();
virtual G4bool MergeImpl(tools::histo::hmpi* hmpi);
virtual G4bool MergeImpl(tools::histo::hmpi* hmpi);
09-06-15 I. Hrivnacova (AnaEx01-V10-01-00)
- Updated hbook for developments in analysis category:
@@ -104,28 +108,28 @@ track of all tags.
05-11-14 I. Hrivnacova (AnaEx01-V10-00-04)
- Including shared directory directly in the example
to avoid out-of-project sources
- based on analysisShared-V10-00-00
- based on analysisShared-V10-00-00
- Adding utility scripts for GNUmake build (much simpler replacement
for scripts from common) \
- based on analysisScripts-V10-00-00
- Moved implementation of G4AnalysisManager for hbook from
extended/common/analysis in hbook sub-directory
- based on analysisScripts-V10-00-00
- Moved implementation of G4AnalysisManager for hbook from
extended/common/analysis in hbook sub-directory
13-08-14 mma (AnaEx01-V10-00-03)
- update Readme and .Readme again
12-08-14 mma (AnaEx01-V10-00-02)
- restaure calorimeter drawing in Readme and .Readme
- restaure calorimeter drawing in Readme and .Readme
17-06-14 I. Hrivnacova (AnaEx01-V10-00-01)
- Fixed problems reported by Davide Mancusi:
- Moving tools/hbook/*.f files in examples/extended/common/analysis/src
to avoid their retrieval from Geant4 source/includes which causes problem
when building examples against Geant4 build directory.
- Added -lkernlib in list of libraries (required with Debian cernlib
- Moving tools/hbook/*.f files in examples/extended/common/analysis/src
to avoid their retrieval from Geant4 source/includes which causes problem
when building examples against Geant4 build directory.
- Added -lkernlib in list of libraries (required with Debian cernlib
distribution 20061220)
- In CMake build: replaced explicit use of gfortran with
enable_language(Fortran) and using fortran_sources variable in analogous
- In CMake build: replaced explicit use of gfortran with
enable_language(Fortran) and using fortran_sources variable in analogous
way as sources
11-06-14 I. Hrivnacova (AnaEx01-V10-00-00)
@@ -136,10 +140,10 @@ track of all tags.
- Fixed path to hbook *.f files in GNUmakefile.tools_hbook
28-05-14 I. Hrivnacova
- Use Geant4 physics list (FTFP_BERT) in AnaEx01,02,03,
- Use Geant4 physics list (FTFP_BERT) in AnaEx01,02,03,
removed PhysicList class from shared
(tag in examples/analysis)
16-09-13 I. Hrivnacova (AnaEx01-V09-06-02)
- Updated SharedFilesList.txt for addedActionInitialization class
(missing in analysisExample-V09-06-02 in top directory)
@@ -147,44 +151,44 @@ track of all tags.
11-07-13 I. Hrivnacova (AnaEx01-V09-06-01)
- Updated CMakeLists.txt and SharedFilesList.txt for added classes
in Hbook analysis code
02-04-13 I. Hrivnacova (AnaEx01-V09-06-00)
- Create two ntuples instead of one in order to demonstrate
how to do this with all tools.
31-08-12 I. Hrivnacova (AnaEx01-V09-05-05)
- Updated CMakeLists.tx:
adding visualization, copying macros, install target and comment lines
- Adding .README
06-04-12 mma (AnaEx01-V09-05-04)
02-04-13 I. Hrivnacova (AnaEx01-V09-06-00)
- Create two ntuples instead of one in order to demonstrate
how to do this with all tools.
31-08-12 I. Hrivnacova (AnaEx01-V09-05-05)
- Updated CMakeLists.tx:
adding visualization, copying macros, install target and comment lines
- Adding .README
06-04-12 mma (AnaEx01-V09-05-04)
- AnaEx01.cc : change order of UI and Vis
22-02-12 mma (AnaEx01-V09-05-03)
22-02-12 mma (AnaEx01-V09-05-03)
- HistoManager : suppress SetFirstNtupleId()
- file G4HbookAnalysisManager renamed ExG4HbookAnalysisManager
15-02-12 mma (AnaEx01-V09-05-02)
15-02-12 mma (AnaEx01-V09-05-02)
- HistoManager : new handle namespace and fileName[2]
- HistoManager : add protections for histo file management
22-01-12 mma (AnaEx01-V09-05-01)
22-01-12 mma (AnaEx01-V09-05-01)
- HistoManager.hh and .cc : add hbook option.
New files : GNUmakefile.tools_hbook and ExG4HbookAnalysisManager.hh .cc
21-01-12 mma (AnaEx01-V09-05-00)
21-01-12 mma (AnaEx01-V09-05-00)
- HistoManager.hh and .cc : migrate to new g4tools histogramming system
Do not need aida anymore, nor G4ANALYSIS_USE
- HistoManager : histId and histPt
- HistoManager : coding conventions
- Update Readme accordingly
07-06-11 mma (AnaEx01-V09-04-01)
07-06-11 mma (AnaEx01-V09-04-01)
PhysicsList migrated to new scheme G4PhysListHelper
03 February 2011 mma (AnaEx01-V09-04-00)
- delete subdirectory analysis
08 November 2010 Michel Maire (AnaEx01-V09-03-00)
- revised version of example :
class HistoManager to replace AnaEx01AnalysisManager
@@ -198,7 +202,7 @@ PhysicsList migrated to new scheme G4PhysListHelper
In fact the analysis directory should not be distributed anymore.
- have a run.mac in the main example directory.
- AnaEx01AnalysisManager : arrange to have histo and tuple name
as interger in case of hbook file format.
as interger in case of hbook file format.
5 March 2009 Guy Barrand
- GNUmakefile : remove the G4ANALYSIS_USE logic found in this file, since
@@ -27,9 +27,9 @@
/// \brief Implementation of the HistoManager class
//
//
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "HistoManager.hh"
#include "G4UnitsTable.hh"
@@ -55,26 +55,29 @@ void HistoManager::Book()
// in HistoManager.hh
G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
analysisManager->SetVerboseLevel(1);
// Only merge in MT mode to avoid warning when running in Sequential mode
#ifdef G4MULTITHREADED
analysisManager->SetNtupleMerging(true);
// Create directories
#endif
// Create directories
analysisManager->SetHistoDirectoryName("histo");
analysisManager->SetNtupleDirectoryName("ntuple");
// Open an output file
//
G4bool fileOpen = analysisManager->OpenFile("AnaEx01");
if (! fileOpen) {
G4cerr << "\n---> HistoManager::Book(): cannot open "
G4cerr << "\n---> HistoManager::Book(): cannot open "
<< analysisManager->GetFileName() << G4endl;
return;
}
// Create histograms.
// Histogram ids are generated automatically starting from 0.
// The start value can be changed by:
// analysisManager->SetFirstHistoId(1);
// analysisManager->SetFirstHistoId(1);
// id = 0
analysisManager->CreateH1("EAbs","Edep in absorber (MeV)", 100, 0., 800*MeV);
// id = 1
@@ -87,8 +90,8 @@ void HistoManager::Book()
// Create ntuples.
// Ntuples ids are generated automatically starting from 0.
// The start value can be changed by:
// analysisManager->SetFirstMtupleId(1);
// analysisManager->SetFirstMtupleId(1);
// Create 1st ntuple (id = 0)
analysisManager->CreateNtuple("Ntuple1", "Edep");
analysisManager->CreateNtupleDColumn("Eabs"); // column Id = 0
@@ -96,16 +99,16 @@ void HistoManager::Book()
analysisManager->FinishNtuple();
// Create 2nd ntuple (id = 1)
//
//
analysisManager->CreateNtuple("Ntuple2", "TrackL");
analysisManager->CreateNtupleDColumn("Labs"); // column Id = 0
analysisManager->CreateNtupleDColumn("Lgap"); // column Id = 1
analysisManager->FinishNtuple();
fFactoryOn = true;
G4cout << "\n----> Output file is open in "
<< analysisManager->GetFileName() << "."
fFactoryOn = true;
G4cout << "\n----> Output file is open in "
<< analysisManager->GetFileName() << "."
<< analysisManager->GetFileType() << G4endl;
}
@@ -114,13 +117,13 @@ void HistoManager::Book()
void HistoManager::Save()
{
if (! fFactoryOn) return;
G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
analysisManager->Write();
analysisManager->CloseFile();
analysisManager->CloseFile();
G4cout << "\n----> Histograms and ntuples are saved\n" << G4endl;
delete G4AnalysisManager::Instance();
fFactoryOn = false;
}
@@ -129,7 +132,7 @@ void HistoManager::Save()
void HistoManager::FillHisto(G4int ih, G4double xbin, G4double weight)
{
G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
analysisManager->FillH1(ih, xbin, weight);
}
@@ -137,7 +140,7 @@ void HistoManager::FillHisto(G4int ih, G4double xbin, G4double weight)
void HistoManager::Normalize(G4int ih, G4double fac)
{
G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
G4H1* h1 = analysisManager->GetH1(ih);
if (h1) h1->scale(fac);
}
@@ -146,17 +149,17 @@ void HistoManager::Normalize(G4int ih, G4double fac)
void HistoManager::FillNtuple(G4double energyAbs, G4double energyGap,
G4double trackLAbs, G4double trackLGap)
{
{
G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
// Fill 1st ntuple ( id = 0)
analysisManager->FillNtupleDColumn(0, 0, energyAbs);
analysisManager->FillNtupleDColumn(0, 1, energyGap);
analysisManager->AddNtupleRow(0);
analysisManager->AddNtupleRow(0);
// Fill 2nd ntuple ( id = 1)
analysisManager->FillNtupleDColumn(1, 0, trackLAbs);
analysisManager->FillNtupleDColumn(1, 1, trackLGap);
analysisManager->AddNtupleRow(1);
}
analysisManager->AddNtupleRow(1);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -165,21 +168,21 @@ void HistoManager::PrintStatistic()
if (! fFactoryOn) return;
G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
G4cout << "\n ----> print histograms statistic \n" << G4endl;
for ( G4int i=0; i<analysisManager->GetNofH1s(); ++i ) {
G4String name = analysisManager->GetH1Name(i);
G4H1* h1 = analysisManager->GetH1(i);
G4String unitCategory;
if (name[0U] == 'E' ) unitCategory = "Energy";
if (name[0U] == 'E' ) unitCategory = "Energy";
if (name[0U] == 'L' ) unitCategory = "Length";
// we use an explicit unsigned int type for operator [] argument
// to avoid problems with windows compiler
G4cout << name
<< ": mean = " << G4BestUnit(h1->mean(), unitCategory)
<< " rms = " << G4BestUnit(h1->rms(), unitCategory )
<< ": mean = " << G4BestUnit(h1->mean(), unitCategory)
<< " rms = " << G4BestUnit(h1->rms(), unitCategory )
<< G4endl;
}
}