Import Geant4 10.7.0 source tree
This commit is contained in:
@@ -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.
|
||||
|
||||
|
||||
*/
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user