Import Geant4 11.2.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2023-06-30 09:09:57 +02:00
parent aef78ca386
commit dd1f179cda
3780 changed files with 212808 additions and 142780 deletions
+2 -2
View File
@@ -7,7 +7,7 @@
This example simulates a simple Sampling Calorimeter setup.
To demonstrate several possible ways of data scoring, the example
is provided in four variants: %B4a, %B4b, %B4c, %B4d.
(See also examples/extended/electromagnetic/TestEm3)
(See also examples/extended/electromagnetic/TestEm3 or hadronic/Hadr05)
\section B4_s1 GEOMETRY DEFINITION
@@ -52,7 +52,7 @@
</pre>
A more general version of this geometry can be found in:
examples/extended/electromagnetic/TestEm3
examples/extended/electromagnetic/TestEm3 or hadronic/Hadr05
where all the geometry parameters, the absorber and gap materials
can be modified interactively via the commands defined in the DetectorMessenger
class.
+31 -18
View File
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-01-patch-02 (15-June-2023)
Geant4 version Name: geant4-11-01-ref-06 (30-June-2023)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -45,7 +45,9 @@ Registered graphics systems are:
Qt3D (Qt3D)
TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK)
TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK)
TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB)
TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG)
TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB)
Registering model factories...
@@ -244,7 +246,7 @@ eBrem: for e- XStype:4 SubType=3
CoulombScat: for e- XStype:1 SubType=1 BuildTable=1
Lambda table from 100 MeV to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -276,7 +278,7 @@ annihil: for e+ XStype:2 SubType=5 BuildTable=0
CoulombScat: for e+ XStype:1 SubType=1 BuildTable=1
Lambda table from 100 MeV to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -308,7 +310,7 @@ hPairProd: for proton XStype:1 SubType=4
CoulombScat: for proton XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -321,7 +323,6 @@ ionIoni: for GenericIon XStype:3 SubType=2
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
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.02
Stopping Power data for 17 ion/material pairs
===== EM models for the G4Region DefaultRegionForTheWorld ======
BraggIon : Emin= 0 eV Emax= 2 MeV
BetheBloch : Emin= 2 MeV Emax= 100 TeV
@@ -367,7 +368,7 @@ hPairProd: for anti_proton XStype:1 SubType=4
CoulombScat: for anti_proton XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -399,7 +400,7 @@ hPairProd: for kaon+ XStype:1 SubType=4
CoulombScat: for kaon+ XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -431,7 +432,7 @@ hPairProd: for kaon- XStype:1 SubType=4
CoulombScat: for kaon- XStype:1 SubType=1 BuildTable=1
Used Lambda table of kaon+
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -463,7 +464,7 @@ muPairProd: for mu+ XStype:1 SubType=4
CoulombScat: for mu+ XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -495,7 +496,7 @@ muPairProd: for mu- XStype:1 SubType=4
CoulombScat: for mu- XStype:1 SubType=1 BuildTable=1
Used Lambda table of mu+
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -527,7 +528,7 @@ hPairProd: for pi+ XStype:1 SubType=4
CoulombScat: for pi+ XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -559,7 +560,7 @@ hPairProd: for pi- XStype:1 SubType=4
CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
Used Lambda table of pi+
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -944,12 +945,21 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
================================================================
=======================================================================
====== Pre-compound/De-excitation Physics Parameters ========
====== Geant4 Native Pre-compound Model Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Pre-compound model active 1
Pre-compound excitation low energy 100 keV
Pre-compound excitation high energy 30 MeV
Angular generator for pre-compound model 1
Use NeverGoBack option for pre-compound model 0
Use SoftCutOff option for pre-compound model 0
Use CEM transitions for pre-compound model 1
Use GNASH transitions for pre-compound model 0
Use HETC submodel for pre-compound model 0
=======================================================================
====== Nuclear De-excitation Module Parameters ========
=======================================================================
Type of de-excitation inverse x-section 3
Type of de-excitation factory Evaporation+GEM
Number of de-excitation channels 68
@@ -984,9 +994,10 @@ Setting was ignored.
... open analysis file : B4.root - done
Using
--> Event 0 starts.
---> End of event: 0
Absorber: total energy: 259.894 MeV total track length: 18.9569 cm
Gap: total energy: 17.4244 MeV total track length: 8.74398 cm
--> End of event 0
----> print histograms statistic for the entire run
@@ -1063,9 +1074,10 @@ hFritiofCaptureAtRest,hBertiniCaptureAtRest,muMinusCaptureAtRest, dInela
... open analysis file : B4.root - done
Using
--> Event 0 starts.
---> End of event: 0
Absorber: total energy: 278.136 MeV total track length: 20.1737 cm
Gap: total energy: 19.9095 MeV total track length: 10.0917 cm
--> End of event 0
----> print histograms statistic for the entire run
@@ -1088,14 +1100,15 @@ View them with "/vis/plot" or "/vis/reviewPlots".
... open analysis file : B4.root - done
Using
--> Event 0 starts.
---> End of event: 0
Absorber: total energy: 435.043 MeV total track length: 31.1955 cm
Gap: total energy: 37.3961 MeV total track length: 18.5223 cm
--> End of event 0
----> print histograms statistic for the entire run
EAbs : mean = 435.043 MeV rms = 0 eV
EGap : mean = 37.3961 MeV rms = 0 eV
EAbs : mean = 0 eV rms = 0 eV
EGap : mean = 0 eV rms = 0 eV
LAbs : mean = 31.1955 cm rms = 0 fm
LGap : mean = 18.5223 cm rms = 0 fm
... write file : B4.root - done
@@ -76,7 +76,6 @@ inline void EventAction::AddGap(G4double de, G4double dl) {
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
+5 -4
View File
@@ -28,16 +28,17 @@
hist2->Draw("HIST");
// Draw Egap histogram in the pad 3
// with logaritmic scale for y
TH1D* hist3 = (TH1D*)f.Get("Egap");
c1->cd(3);
gPad->SetLogy(1);
// set logarithmic scale for y
//gPad->SetLogy(1);
hist3->Draw("HIST");
// Draw Lgap histogram in the pad 4
// with logaritmic scale for y
c1->cd(4);
gPad->SetLogy(1);
// set logarithmic scale for y
//gPad->SetLogy(1);
TH1D* hist4 = (TH1D*)f.Get("Lgap");
hist4->Draw("HIST");
}
+6 -6
View File
@@ -28,15 +28,15 @@
c1->cd(2);
ntuple->Draw("Labs");
// Draw Egap histogram in the pad 3
// with logaritmic scale for y ?? how to do this?
// Draw Egap histogram in the pad
c1->cd(3);
gPad->SetLogy(1);
//set logarithmic scale for y
//gPad->SetLogy(1);
ntuple->Draw("Egap");
// Draw Lgap histogram in the pad 4
// with logaritmic scale for y ?? how to do this?
c1->cd(4);
gPad->SetLogy(1);
ntuple->Draw("Egap");
//set logarithmic scale for y
//gPad->SetLogy(1);
ntuple->Draw("Lgap");
}
+24 -28
View File
@@ -1,44 +1,40 @@
# Macro file for example B4
#
#
# Can be run in batch, without graphic
# or interactively: Idle> /control/execute run1.mac
#
# Change the default number of workers (in multi-threading mode)
#
# change the default number of workers (in multi-threading mode)
#/run/numberOfThreads 4
#
# Kind of tutorial:
# interactively with visualization, issue the commands one by one:
# Idle> gun/particle mu+
# Idle> ...etc...
#
# Initialize kernel
/run/initialize
#
# Default kinematics:
# electron 50 MeV in direction (0.,0.,1.)
# 1 event with tracking/verbose
# muon 300 MeV in direction (0.,0.,1.)
/gun/particle mu+
/gun/energy 300 MeV
#
/tracking/verbose 1
/run/beamOn 1
#
#
# muon 300 MeV in direction (0.,0.,1.)
# 3 events
#
/gun/particle mu+
/gun/energy 3 MeV
/run/beamOn 3
#
# 20 events
#
/tracking/verbose 0
/run/printProgress 5
/run/beamOn 20
/run/beamOn 10
#
# Magnetic field
#
/globalField/setValue 0.2 0 0 tesla
/run/beamOn 3
# inactivate multiple scattering process
/process/inactivate msc
/run/beamOn 10
#
# Activate/inactivate physics processes
# set a magnetic field
/globalField/setValue 2 0 0 tesla
/run/beamOn 10
#
/process/list
/process/inactivate eBrem
#
/run/beamOn 20
# re-activate multiple scattering
/process/activate msc
/run/beamOn 10
#
# verbosity
/tracking/verbose 2
/run/beamOn 1
+13 -7
View File
@@ -1,17 +1,23 @@
# Macro file for example B4
#
#
# To be run preferably in batch, without graphics:
# % exampleB4[a,b,c,d] run2.mac
# % exampleB4[a,b,c,d] -m run2.mac
#
# Produce Histograms and Ntuples
#
#/run/numberOfThreads 4
#/control/cout/ignoreThreadsExcept 0
#
# reduce the verbosity level for EM and hadronic physics
#/process/em/verbose 0
#/process/had/verbose 0
#
/run/initialize
#
# Default kinemtics:
# electron 50 MeV in direction (0.,0.,1.)
# 1000 events
# Default kinemtics:
# electron 300 MeV in direction (0.,0.,1.)
# 10000 events
#
/run/printProgress 100
/run/beamOn 1000
/run/printProgress 1000
/run/beamOn 10000
+4 -7
View File
@@ -56,9 +56,6 @@ void EventAction::BeginOfEventAction(const G4Event* /*event*/)
void EventAction::EndOfEventAction(const G4Event* event)
{
// Accumulate statistics
//
// get analysis manager
auto analysisManager = G4AnalysisManager::Instance();
@@ -80,8 +77,6 @@ void EventAction::EndOfEventAction(const G4Event* event)
auto eventID = event->GetEventID();
auto printModulo = G4RunManager::GetRunManager()->GetPrintProgress();
if ( ( printModulo > 0 ) && ( eventID % printModulo == 0 ) ) {
G4cout << "---> End of event: " << eventID << G4endl;
G4cout
<< " Absorber: total energy: " << std::setw(7)
<< G4BestUnit(fEnergyAbs,"Energy")
@@ -93,9 +88,11 @@ void EventAction::EndOfEventAction(const G4Event* event)
<< " total track length: " << std::setw(7)
<< G4BestUnit(fTrackLGap,"Length")
<< G4endl;
G4cout << "--> End of event " << eventID << "\n" << G4endl;
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
}
}
@@ -56,7 +56,7 @@ PrimaryGeneratorAction::PrimaryGeneratorAction()
= G4ParticleTable::GetParticleTable()->FindParticle("e-");
fParticleGun->SetParticleDefinition(particleDefinition);
fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.));
fParticleGun->SetParticleEnergy(50.*MeV);
fParticleGun->SetParticleEnergy(300.*MeV);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+6 -6
View File
@@ -61,11 +61,11 @@ RunAction::RunAction()
//
// Creating histograms
analysisManager->CreateH1("Eabs","Edep in absorber", 100, 0., 800*MeV);
analysisManager->CreateH1("Egap","Edep in gap", 100, 0., 100*MeV);
analysisManager->CreateH1("Labs","trackL in absorber", 100, 0., 1*m);
analysisManager->CreateH1("Lgap","trackL in gap", 100, 0., 50*cm);
analysisManager->CreateH1("Eabs" ,"Edep in absorber", 110, 0., 330*MeV);
analysisManager->CreateH1("Egap" ,"Edep in gap", 100, 0., 30*MeV);
analysisManager->CreateH1("Labs" ,"trackL in absorber", 100, 0., 50*cm);
analysisManager->CreateH1("Lgap" ,"trackL in gap", 100, 0., 50*cm);
// Creating ntuple
//
analysisManager->CreateNtuple("B4", "Edep and TrackL");
@@ -131,7 +131,7 @@ void RunAction::EndOfRunAction(const G4Run* /*run*/)
G4cout << " LGap : mean = "
<< G4BestUnit(analysisManager->GetH1(3)->mean(), "Length")
<< " rms = "
<< G4BestUnit(analysisManager->GetH1(3)->rms(), "Length") << G4endl;
<< G4BestUnit(analysisManager->GetH1(3)->rms(), "Length") << G4endl;
}
// save histograms & ntuple
+31 -18
View File
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-01-patch-02 (15-June-2023)
Geant4 version Name: geant4-11-01-ref-06 (30-June-2023)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -45,7 +45,9 @@ Registered graphics systems are:
Qt3D (Qt3D)
TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK)
TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK)
TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB)
TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG)
TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB)
Registering model factories...
@@ -244,7 +246,7 @@ eBrem: for e- XStype:4 SubType=3
CoulombScat: for e- XStype:1 SubType=1 BuildTable=1
Lambda table from 100 MeV to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -276,7 +278,7 @@ annihil: for e+ XStype:2 SubType=5 BuildTable=0
CoulombScat: for e+ XStype:1 SubType=1 BuildTable=1
Lambda table from 100 MeV to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -308,7 +310,7 @@ hPairProd: for proton XStype:1 SubType=4
CoulombScat: for proton XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -321,7 +323,6 @@ ionIoni: for GenericIon XStype:3 SubType=2
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
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.02
Stopping Power data for 17 ion/material pairs
===== EM models for the G4Region DefaultRegionForTheWorld ======
BraggIon : Emin= 0 eV Emax= 2 MeV
BetheBloch : Emin= 2 MeV Emax= 100 TeV
@@ -367,7 +368,7 @@ hPairProd: for anti_proton XStype:1 SubType=4
CoulombScat: for anti_proton XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -399,7 +400,7 @@ hPairProd: for kaon+ XStype:1 SubType=4
CoulombScat: for kaon+ XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -431,7 +432,7 @@ hPairProd: for kaon- XStype:1 SubType=4
CoulombScat: for kaon- XStype:1 SubType=1 BuildTable=1
Used Lambda table of kaon+
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -463,7 +464,7 @@ muPairProd: for mu+ XStype:1 SubType=4
CoulombScat: for mu+ XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -495,7 +496,7 @@ muPairProd: for mu- XStype:1 SubType=4
CoulombScat: for mu- XStype:1 SubType=1 BuildTable=1
Used Lambda table of mu+
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -527,7 +528,7 @@ hPairProd: for pi+ XStype:1 SubType=4
CoulombScat: for pi+ XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -559,7 +560,7 @@ hPairProd: for pi- XStype:1 SubType=4
CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
Used Lambda table of pi+
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -944,12 +945,21 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
================================================================
=======================================================================
====== Pre-compound/De-excitation Physics Parameters ========
====== Geant4 Native Pre-compound Model Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Pre-compound model active 1
Pre-compound excitation low energy 100 keV
Pre-compound excitation high energy 30 MeV
Angular generator for pre-compound model 1
Use NeverGoBack option for pre-compound model 0
Use SoftCutOff option for pre-compound model 0
Use CEM transitions for pre-compound model 1
Use GNASH transitions for pre-compound model 0
Use HETC submodel for pre-compound model 0
=======================================================================
====== Nuclear De-excitation Module Parameters ========
=======================================================================
Type of de-excitation inverse x-section 3
Type of de-excitation factory Evaporation+GEM
Number of de-excitation channels 68
@@ -985,9 +995,10 @@ Setting was ignored.
... open analysis file : B4.root - done
Using
--> Event 0 starts.
---> End of event: 0
Absorber: total energy: 259.894 MeV total track length: 18.9569 cm
Gap: total energy: 17.4244 MeV total track length: 8.74398 cm
--> End of event 0
----> print histograms statistic for the entire run
@@ -1065,9 +1076,10 @@ hFritiofCaptureAtRest,hBertiniCaptureAtRest,muMinusCaptureAtRest, dInela
... open analysis file : B4.root - done
Using
--> Event 0 starts.
---> End of event: 0
Absorber: total energy: 278.136 MeV total track length: 20.1737 cm
Gap: total energy: 19.9095 MeV total track length: 10.0917 cm
--> End of event 0
----> print histograms statistic for the entire run
@@ -1091,14 +1103,15 @@ View them with "/vis/plot" or "/vis/reviewPlots".
... open analysis file : B4.root - done
Using
--> Event 0 starts.
---> End of event: 0
Absorber: total energy: 435.043 MeV total track length: 31.1955 cm
Gap: total energy: 37.3961 MeV total track length: 18.5223 cm
--> End of event 0
----> print histograms statistic for the entire run
EAbs : mean = 435.043 MeV rms = 0 eV
EGap : mean = 37.3961 MeV rms = 0 eV
EAbs : mean = 0 eV rms = 0 eV
EGap : mean = 0 eV rms = 0 eV
LAbs : mean = 31.1955 cm rms = 0 fm
LGap : mean = 18.5223 cm rms = 0 fm
... write file : B4.root - done
+1 -1
View File
@@ -54,7 +54,7 @@ const G4int kDim = 2;
/// - fEdep[], fTrackLength[].
///
/// The data are collected step by step in SteppingAction, and
/// the accumulated values are filled in histograms and entuple
/// the accumulated values are filled in histograms and a Ntuple
/// event by event in EventAction.
class RunData : public G4Run
+5 -4
View File
@@ -28,16 +28,17 @@
hist2->Draw("HIST");
// Draw Egap histogram in the pad 3
// with logaritmic scale for y
TH1D* hist3 = (TH1D*)f.Get("Egap");
c1->cd(3);
gPad->SetLogy(1);
// set logarithmic scale for y
//gPad->SetLogy(1);
hist3->Draw("HIST");
// Draw Lgap histogram in the pad 4
// with logaritmic scale for y
c1->cd(4);
gPad->SetLogy(1);
// set logarithmic scale for y
//gPad->SetLogy(1);
TH1D* hist4 = (TH1D*)f.Get("Lgap");
hist4->Draw("HIST");
}
+6 -6
View File
@@ -28,15 +28,15 @@
c1->cd(2);
ntuple->Draw("Labs");
// Draw Egap histogram in the pad 3
// with logaritmic scale for y ?? how to do this?
// Draw Egap histogram in the pad
c1->cd(3);
gPad->SetLogy(1);
//set logarithmic scale for y
//gPad->SetLogy(1);
ntuple->Draw("Egap");
// Draw Lgap histogram in the pad 4
// with logaritmic scale for y ?? how to do this?
c1->cd(4);
gPad->SetLogy(1);
ntuple->Draw("Egap");
//set logarithmic scale for y
//gPad->SetLogy(1);
ntuple->Draw("Lgap");
}
+24 -28
View File
@@ -1,44 +1,40 @@
# Macro file for example B4
#
#
# Can be run in batch, without graphic
# or interactively: Idle> /control/execute run1.mac
#
# Change the default number of workers (in multi-threading mode)
#
# change the default number of workers (in multi-threading mode)
#/run/numberOfThreads 4
#
# Kind of tutorial:
# interactively with visualization, issue the commands one by one:
# Idle> gun/particle mu+
# Idle> ...etc...
#
# Initialize kernel
/run/initialize
#
# Default kinematics:
# electron 50 MeV in direction (0.,0.,1.)
# 1 event with tracking/verbose
# muon 300 MeV in direction (0.,0.,1.)
/gun/particle mu+
/gun/energy 300 MeV
#
/tracking/verbose 1
/run/beamOn 1
#
#
# muon 300 MeV in direction (0.,0.,1.)
# 3 events
#
/gun/particle mu+
/gun/energy 3 MeV
/run/beamOn 3
#
# 20 events
#
/tracking/verbose 0
/run/printProgress 5
/run/beamOn 20
/run/beamOn 10
#
# Magnetic field
#
/globalField/setValue 0.2 0 0 tesla
/run/beamOn 3
# inactivate multiple scattering process
/process/inactivate msc
/run/beamOn 10
#
# Activate/inactivate physics processes
# set a magnetic field
/globalField/setValue 2 0 0 tesla
/run/beamOn 10
#
/process/list
/process/inactivate eBrem
#
/run/beamOn 20
# re-activate multiple scattering
/process/activate msc
/run/beamOn 10
#
# verbosity
/tracking/verbose 2
/run/beamOn 1
+13 -7
View File
@@ -1,17 +1,23 @@
# Macro file for example B4
#
#
# To be run preferably in batch, without graphics:
# % exampleB4[a,b,c,d] run2.mac
# % exampleB4[a,b,c,d] -m run2.mac
#
# Produce Histograms and Ntuples
#
#/run/numberOfThreads 4
#/control/cout/ignoreThreadsExcept 0
#
# reduce the verbosity level for EM and hadronic physics
#/process/em/verbose 0
#/process/had/verbose 0
#
/run/initialize
#
# Default kinemtics:
# electron 50 MeV in direction (0.,0.,1.)
# 1000 events
# Default kinemtics:
# electron 300 MeV in direction (0.,0.,1.)
# 10000 events
#
/run/printProgress 100
/run/beamOn 1000
/run/printProgress 1000
/run/beamOn 10000
+2 -3
View File
@@ -45,7 +45,7 @@ namespace B4b
void EventAction::PrintEventStatistics(
G4double absoEdep, G4double absoTrackLength,
G4double gapEdep, G4double gapTrackLength) const
{
{
// print event statistics
G4cout
<< " Absorber: total energy: "
@@ -84,13 +84,12 @@ void EventAction::EndOfEventAction(const G4Event* event)
auto eventID = event->GetEventID();
auto printModulo = G4RunManager::GetRunManager()->GetPrintProgress();
if ( ( printModulo > 0 ) && ( eventID % printModulo == 0 ) ) {
G4cout << "---> End of event: " << eventID << G4endl;
PrintEventStatistics(
runData->GetEdep(kAbs),
runData->GetTrackLength(kAbs),
runData->GetEdep(kGap),
runData->GetTrackLength(kGap));
G4cout << "--> End of event " << eventID << "\n" << G4endl;
}
}
@@ -56,7 +56,7 @@ PrimaryGeneratorAction::PrimaryGeneratorAction()
= G4ParticleTable::GetParticleTable()->FindParticle("e-");
fParticleGun->SetParticleDefinition(particleDefinition);
fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.));
fParticleGun->SetParticleEnergy(50.*MeV);
fParticleGun->SetParticleEnergy(300.*MeV);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+5 -5
View File
@@ -62,11 +62,11 @@ RunAction::RunAction()
//
// Creating histograms
analysisManager->CreateH1("Eabs","Edep in absorber", 100, 0., 800*MeV);
analysisManager->CreateH1("Egap","Edep in gap", 100, 0., 100*MeV);
analysisManager->CreateH1("Labs","trackL in absorber", 100, 0., 1*m);
analysisManager->CreateH1("Lgap","trackL in gap", 100, 0., 50*cm);
analysisManager->CreateH1("Eabs" ,"Edep in absorber", 110, 0., 330*MeV);
analysisManager->CreateH1("Egap" ,"Edep in gap", 100, 0., 30*MeV);
analysisManager->CreateH1("Labs" ,"trackL in absorber", 100, 0., 50*cm);
analysisManager->CreateH1("Lgap" ,"trackL in gap", 100, 0., 50*cm);
// Creating ntuple
//
analysisManager->CreateNtuple("B4", "Edep and TrackL");
+2 -1
View File
@@ -44,7 +44,7 @@ void RunData::FillPerEvent()
auto analysisManager = G4AnalysisManager::Instance();
// accumulate statistic
// in the order od the histograms, ntuple columns declarations
// in the order of the histograms, ntuple columns declarations
G4int counter = 0;
for ( auto edep : fEdep ) {
analysisManager->FillH1(counter, edep);
@@ -54,6 +54,7 @@ void RunData::FillPerEvent()
analysisManager->FillH1(counter, trackLength);
analysisManager->FillNtupleDColumn(counter++, trackLength);
}
analysisManager->AddNtupleRow();
}
+31 -18
View File
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-01-patch-02 (15-June-2023)
Geant4 version Name: geant4-11-01-ref-06 (30-June-2023)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -45,7 +45,9 @@ Registered graphics systems are:
Qt3D (Qt3D)
TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK)
TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK)
TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB)
TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG)
TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB)
Registering model factories...
@@ -244,7 +246,7 @@ eBrem: for e- XStype:4 SubType=3
CoulombScat: for e- XStype:1 SubType=1 BuildTable=1
Lambda table from 100 MeV to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -276,7 +278,7 @@ annihil: for e+ XStype:2 SubType=5 BuildTable=0
CoulombScat: for e+ XStype:1 SubType=1 BuildTable=1
Lambda table from 100 MeV to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -308,7 +310,7 @@ hPairProd: for proton XStype:1 SubType=4
CoulombScat: for proton XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -321,7 +323,6 @@ ionIoni: for GenericIon XStype:3 SubType=2
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
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.02
Stopping Power data for 17 ion/material pairs
===== EM models for the G4Region DefaultRegionForTheWorld ======
BraggIon : Emin= 0 eV Emax= 2 MeV
BetheBloch : Emin= 2 MeV Emax= 100 TeV
@@ -367,7 +368,7 @@ hPairProd: for anti_proton XStype:1 SubType=4
CoulombScat: for anti_proton XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -399,7 +400,7 @@ hPairProd: for kaon+ XStype:1 SubType=4
CoulombScat: for kaon+ XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -431,7 +432,7 @@ hPairProd: for kaon- XStype:1 SubType=4
CoulombScat: for kaon- XStype:1 SubType=1 BuildTable=1
Used Lambda table of kaon+
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -463,7 +464,7 @@ muPairProd: for mu+ XStype:1 SubType=4
CoulombScat: for mu+ XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -495,7 +496,7 @@ muPairProd: for mu- XStype:1 SubType=4
CoulombScat: for mu- XStype:1 SubType=1 BuildTable=1
Used Lambda table of mu+
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -527,7 +528,7 @@ hPairProd: for pi+ XStype:1 SubType=4
CoulombScat: for pi+ XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -559,7 +560,7 @@ hPairProd: for pi- XStype:1 SubType=4
CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
Used Lambda table of pi+
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -944,12 +945,21 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
================================================================
=======================================================================
====== Pre-compound/De-excitation Physics Parameters ========
====== Geant4 Native Pre-compound Model Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Pre-compound model active 1
Pre-compound excitation low energy 100 keV
Pre-compound excitation high energy 30 MeV
Angular generator for pre-compound model 1
Use NeverGoBack option for pre-compound model 0
Use SoftCutOff option for pre-compound model 0
Use CEM transitions for pre-compound model 1
Use GNASH transitions for pre-compound model 0
Use HETC submodel for pre-compound model 0
=======================================================================
====== Nuclear De-excitation Module Parameters ========
=======================================================================
Type of de-excitation inverse x-section 3
Type of de-excitation factory Evaporation+GEM
Number of de-excitation channels 68
@@ -984,9 +994,10 @@ Setting was ignored.
... open analysis file : B4.root - done
Using
--> Event 0 starts.
---> End of event: 0
Absorber: total energy: 259.894 MeV total track length: 18.9569 cm
Gap: total energy: 17.4244 MeV total track length: 8.74398 cm
--> End of event: 0
----> print histograms statistic for the entire run
@@ -1063,9 +1074,10 @@ hFritiofCaptureAtRest,hBertiniCaptureAtRest,muMinusCaptureAtRest, dInela
... open analysis file : B4.root - done
Using
--> Event 0 starts.
---> End of event: 0
Absorber: total energy: 278.136 MeV total track length: 20.1737 cm
Gap: total energy: 19.9095 MeV total track length: 10.0917 cm
--> End of event: 0
----> print histograms statistic for the entire run
@@ -1088,14 +1100,15 @@ View them with "/vis/plot" or "/vis/reviewPlots".
... open analysis file : B4.root - done
Using
--> Event 0 starts.
---> End of event: 0
Absorber: total energy: 435.043 MeV total track length: 31.1955 cm
Gap: total energy: 37.3961 MeV total track length: 18.5223 cm
--> End of event: 0
----> print histograms statistic for the entire run
EAbs : mean = 435.043 MeV rms = 0 eV
EGap : mean = 37.3961 MeV rms = 0 eV
EAbs : mean = 0 eV rms = 0 eV
EGap : mean = 0 eV rms = 0 eV
LAbs : mean = 31.1955 cm rms = 0 fm
LGap : mean = 18.5223 cm rms = 0 fm
... write file : B4.root - done
+5 -4
View File
@@ -28,16 +28,17 @@
hist2->Draw("HIST");
// Draw Egap histogram in the pad 3
// with logaritmic scale for y
TH1D* hist3 = (TH1D*)f.Get("Egap");
c1->cd(3);
gPad->SetLogy(1);
// set logarithmic scale for y
//gPad->SetLogy(1);
hist3->Draw("HIST");
// Draw Lgap histogram in the pad 4
// with logaritmic scale for y
c1->cd(4);
gPad->SetLogy(1);
// set logarithmic scale for y
//gPad->SetLogy(1);
TH1D* hist4 = (TH1D*)f.Get("Lgap");
hist4->Draw("HIST");
}
+6 -6
View File
@@ -28,15 +28,15 @@
c1->cd(2);
ntuple->Draw("Labs");
// Draw Egap histogram in the pad 3
// with logaritmic scale for y ?? how to do this?
// Draw Egap histogram in the pad
c1->cd(3);
gPad->SetLogy(1);
//set logarithmic scale for y
//gPad->SetLogy(1);
ntuple->Draw("Egap");
// Draw Lgap histogram in the pad 4
// with logaritmic scale for y ?? how to do this?
c1->cd(4);
gPad->SetLogy(1);
ntuple->Draw("Egap");
//set logarithmic scale for y
//gPad->SetLogy(1);
ntuple->Draw("Lgap");
}
+24 -28
View File
@@ -1,44 +1,40 @@
# Macro file for example B4
#
#
# Can be run in batch, without graphic
# or interactively: Idle> /control/execute run1.mac
#
# Change the default number of workers (in multi-threading mode)
#
# change the default number of workers (in multi-threading mode)
#/run/numberOfThreads 4
#
# Kind of tutorial:
# interactively with visualization, issue the commands one by one:
# Idle> gun/particle mu+
# Idle> ...etc...
#
# Initialize kernel
/run/initialize
#
# Default kinematics:
# electron 50 MeV in direction (0.,0.,1.)
# 1 event with tracking/verbose
# muon 300 MeV in direction (0.,0.,1.)
/gun/particle mu+
/gun/energy 300 MeV
#
/tracking/verbose 1
/run/beamOn 1
#
#
# muon 300 MeV in direction (0.,0.,1.)
# 3 events
#
/gun/particle mu+
/gun/energy 3 MeV
/run/beamOn 3
#
# 20 events
#
/tracking/verbose 0
/run/printProgress 5
/run/beamOn 20
/run/beamOn 10
#
# Magnetic field
#
/globalField/setValue 0.2 0 0 tesla
/run/beamOn 3
# inactivate multiple scattering process
/process/inactivate msc
/run/beamOn 10
#
# Activate/inactivate physics processes
# set a magnetic field
/globalField/setValue 2 0 0 tesla
/run/beamOn 10
#
/process/list
/process/inactivate eBrem
#
/run/beamOn 20
# re-activate multiple scattering
/process/activate msc
/run/beamOn 10
#
# verbosity
/tracking/verbose 2
/run/beamOn 1
+13 -7
View File
@@ -1,17 +1,23 @@
# Macro file for example B4
#
#
# To be run preferably in batch, without graphics:
# % exampleB4[a,b,c,d] run2.mac
# % exampleB4[a,b,c,d] -m run2.mac
#
# Produce Histograms and Ntuples
#
#/run/numberOfThreads 4
#/control/cout/ignoreThreadsExcept 0
#
# reduce the verbosity level for EM and hadronic physics
#/process/em/verbose 0
#/process/had/verbose 0
#
/run/initialize
#
# Default kinemtics:
# electron 50 MeV in direction (0.,0.,1.)
# 1000 events
# Default kinemtics:
# electron 300 MeV in direction (0.,0.,1.)
# 10000 events
#
/run/printProgress 100
/run/beamOn 1000
/run/printProgress 1000
/run/beamOn 10000
+1 -2
View File
@@ -114,11 +114,10 @@ void EventAction::EndOfEventAction(const G4Event* event)
auto eventID = event->GetEventID();
auto printModulo = G4RunManager::GetRunManager()->GetPrintProgress();
if ( ( printModulo > 0 ) && ( eventID % printModulo == 0 ) ) {
G4cout << "---> End of event: " << eventID << G4endl;
PrintEventStatistics(
absoHit->GetEdep(), absoHit->GetTrackLength(),
gapHit->GetEdep(), gapHit->GetTrackLength());
G4cout << "--> End of event: " << eventID << "\n" << G4endl;
}
// Fill histograms, ntuple
@@ -56,7 +56,7 @@ PrimaryGeneratorAction::PrimaryGeneratorAction()
= G4ParticleTable::GetParticleTable()->FindParticle("e-");
fParticleGun->SetParticleDefinition(particleDefinition);
fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.));
fParticleGun->SetParticleEnergy(50.*MeV);
fParticleGun->SetParticleEnergy(300.*MeV);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+3 -3
View File
@@ -61,9 +61,9 @@ RunAction::RunAction()
//
// Creating histograms
analysisManager->CreateH1("Eabs","Edep in absorber", 100, 0., 800*MeV);
analysisManager->CreateH1("Egap","Edep in gap", 100, 0., 100*MeV);
analysisManager->CreateH1("Labs","trackL in absorber", 100, 0., 1*m);
analysisManager->CreateH1("Eabs","Edep in absorber", 110, 0., 330*MeV);
analysisManager->CreateH1("Egap","Edep in gap", 100, 0., 30*MeV);
analysisManager->CreateH1("Labs","trackL in absorber", 100, 0., 50*cm);
analysisManager->CreateH1("Lgap","trackL in gap", 100, 0., 50*cm);
// Creating ntuple
+32 -19
View File
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-01-patch-02 (15-June-2023)
Geant4 version Name: geant4-11-01-ref-06 (30-June-2023)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -45,7 +45,9 @@ Registered graphics systems are:
Qt3D (Qt3D)
TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK)
TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK)
TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB)
TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG)
TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB)
Registering model factories...
@@ -248,7 +250,7 @@ eBrem: for e- XStype:4 SubType=3
CoulombScat: for e- XStype:1 SubType=1 BuildTable=1
Lambda table from 100 MeV to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -280,7 +282,7 @@ annihil: for e+ XStype:2 SubType=5 BuildTable=0
CoulombScat: for e+ XStype:1 SubType=1 BuildTable=1
Lambda table from 100 MeV to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -312,7 +314,7 @@ hPairProd: for proton XStype:1 SubType=4
CoulombScat: for proton XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -325,7 +327,6 @@ ionIoni: for GenericIon XStype:3 SubType=2
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
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.02
Stopping Power data for 17 ion/material pairs
===== EM models for the G4Region DefaultRegionForTheWorld ======
BraggIon : Emin= 0 eV Emax= 2 MeV
BetheBloch : Emin= 2 MeV Emax= 100 TeV
@@ -371,7 +372,7 @@ hPairProd: for anti_proton XStype:1 SubType=4
CoulombScat: for anti_proton XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -403,7 +404,7 @@ hPairProd: for kaon+ XStype:1 SubType=4
CoulombScat: for kaon+ XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -435,7 +436,7 @@ hPairProd: for kaon- XStype:1 SubType=4
CoulombScat: for kaon- XStype:1 SubType=1 BuildTable=1
Used Lambda table of kaon+
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -467,7 +468,7 @@ muPairProd: for mu+ XStype:1 SubType=4
CoulombScat: for mu+ XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -499,7 +500,7 @@ muPairProd: for mu- XStype:1 SubType=4
CoulombScat: for mu- XStype:1 SubType=1 BuildTable=1
Used Lambda table of mu+
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -531,7 +532,7 @@ hPairProd: for pi+ XStype:1 SubType=4
CoulombScat: for pi+ XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -563,7 +564,7 @@ hPairProd: for pi- XStype:1 SubType=4
CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
Used Lambda table of pi+
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -948,12 +949,21 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
================================================================
=======================================================================
====== Pre-compound/De-excitation Physics Parameters ========
====== Geant4 Native Pre-compound Model Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Pre-compound model active 1
Pre-compound excitation low energy 100 keV
Pre-compound excitation high energy 30 MeV
Angular generator for pre-compound model 1
Use NeverGoBack option for pre-compound model 0
Use SoftCutOff option for pre-compound model 0
Use CEM transitions for pre-compound model 1
Use GNASH transitions for pre-compound model 0
Use HETC submodel for pre-compound model 0
=======================================================================
====== Nuclear De-excitation Module Parameters ========
=======================================================================
Type of de-excitation inverse x-section 3
Type of de-excitation factory Evaporation+GEM
Number of de-excitation channels 68
@@ -988,9 +998,10 @@ Setting was ignored.
... open analysis file : B4.root - done
Using
--> Event 0 starts.
---> End of event: 0
Absorber: total energy: 259.894 MeV total track length: 18.9569 cm
Gap: total energy: 17.4244 MeV total track length: 8.74398 cm
--> End of event: 0
----> print histograms statistic for the entire run
@@ -1067,9 +1078,10 @@ hFritiofCaptureAtRest,hBertiniCaptureAtRest,muMinusCaptureAtRest, dInela
... open analysis file : B4.root - done
Using
--> Event 0 starts.
---> End of event: 0
Absorber: total energy: 278.136 MeV total track length: 20.1737 cm
Gap: total energy: 19.9095 MeV total track length: 10.0917 cm
--> End of event: 0
----> print histograms statistic for the entire run
@@ -1092,14 +1104,15 @@ View them with "/vis/plot" or "/vis/reviewPlots".
... open analysis file : B4.root - done
Using
--> Event 0 starts.
---> End of event: 0
Absorber: total energy: 435.043 MeV total track length: 31.1955 cm
Gap: total energy: 37.3961 MeV total track length: 18.5223 cm
--> End of event: 0
----> print histograms statistic for the entire run
EAbs : mean = 435.043 MeV rms = 0 eV
EGap : mean = 37.3961 MeV rms = 0 eV
EAbs : mean = 0 eV rms = 0 eV
EGap : mean = 0 eV rms = 0 eV
LAbs : mean = 31.1955 cm rms = 0 fm
LGap : mean = 18.5223 cm rms = 0 fm
... write file : B4.root - done
@@ -1113,4 +1126,4 @@ List them with "/analysis/list".
View them with "/vis/plot" or "/vis/reviewPlots".
Graphics systems deleted.
Visualization Manager deleting...
### deleting chargedFilter 0x244c3c0
### deleting chargedFilter 0x105a4e0
+5 -4
View File
@@ -28,16 +28,17 @@
hist2->Draw("HIST");
// Draw Egap histogram in the pad 3
// with logaritmic scale for y
TH1D* hist3 = (TH1D*)f.Get("Egap");
c1->cd(3);
gPad->SetLogy(1);
// set logarithmic scale for y
//gPad->SetLogy(1);
hist3->Draw("HIST");
// Draw Lgap histogram in the pad 4
// with logaritmic scale for y
c1->cd(4);
gPad->SetLogy(1);
// set logarithmic scale for y
//gPad->SetLogy(1);
TH1D* hist4 = (TH1D*)f.Get("Lgap");
hist4->Draw("HIST");
}
+6 -6
View File
@@ -28,15 +28,15 @@
c1->cd(2);
ntuple->Draw("Labs");
// Draw Egap histogram in the pad 3
// with logaritmic scale for y ?? how to do this?
// Draw Egap histogram in the pad
c1->cd(3);
gPad->SetLogy(1);
//set logarithmic scale for y
//gPad->SetLogy(1);
ntuple->Draw("Egap");
// Draw Lgap histogram in the pad 4
// with logaritmic scale for y ?? how to do this?
c1->cd(4);
gPad->SetLogy(1);
ntuple->Draw("Egap");
//set logarithmic scale for y
//gPad->SetLogy(1);
ntuple->Draw("Lgap");
}
+24 -28
View File
@@ -1,44 +1,40 @@
# Macro file for example B4
#
#
# Can be run in batch, without graphic
# or interactively: Idle> /control/execute run1.mac
#
# Change the default number of workers (in multi-threading mode)
#
# change the default number of workers (in multi-threading mode)
#/run/numberOfThreads 4
#
# Kind of tutorial:
# interactively with visualization, issue the commands one by one:
# Idle> gun/particle mu+
# Idle> ...etc...
#
# Initialize kernel
/run/initialize
#
# Default kinematics:
# electron 50 MeV in direction (0.,0.,1.)
# 1 event with tracking/verbose
# muon 300 MeV in direction (0.,0.,1.)
/gun/particle mu+
/gun/energy 300 MeV
#
/tracking/verbose 1
/run/beamOn 1
#
#
# muon 300 MeV in direction (0.,0.,1.)
# 3 events
#
/gun/particle mu+
/gun/energy 3 MeV
/run/beamOn 3
#
# 20 events
#
/tracking/verbose 0
/run/printProgress 5
/run/beamOn 20
/run/beamOn 10
#
# Magnetic field
#
/globalField/setValue 0.2 0 0 tesla
/run/beamOn 3
# inactivate multiple scattering process
/process/inactivate msc
/run/beamOn 10
#
# Activate/inactivate physics processes
# set a magnetic field
/globalField/setValue 2 0 0 tesla
/run/beamOn 10
#
/process/list
/process/inactivate eBrem
#
/run/beamOn 20
# re-activate multiple scattering
/process/activate msc
/run/beamOn 10
#
# verbosity
/tracking/verbose 2
/run/beamOn 1
+13 -9
View File
@@ -1,19 +1,23 @@
# Macro file for example B4
#
#
# To be run preferably in batch, without graphics:
# % exampleB4[a,b,c,d] run2.mac
# % exampleB4[a,b,c,d] -m run2.mac
#
# Produce Histograms and Ntuples
#
#/run/numberOfThreads 4
#/control/cout/ignoreThreadsExcept 0
#
# reduce the verbosity level for EM and hadronic physics
#/process/em/verbose 0
#/process/had/verbose 0
#
/run/initialize
#
# Default kinemtics:
# electron 50 MeV in direction (0.,0.,1.)
# 1000 events
# Default kinemtics:
# electron 300 MeV in direction (0.,0.,1.)
# 10000 events
#
/run/printProgress 100
/score/ntuple/writerVerbose 1
#
/run/beamOn 1000
/run/printProgress 1000
/run/beamOn 10000
+1 -1
View File
@@ -149,8 +149,8 @@ void EventAction::EndOfEventAction(const G4Event* event)
auto eventID = event->GetEventID();
auto printModulo = G4RunManager::GetRunManager()->GetPrintProgress();
if ( ( printModulo > 0 ) && ( eventID % printModulo == 0 ) ) {
G4cout << "---> End of event: " << eventID << G4endl;
PrintEventStatistics(absoEdep, absoTrackLength, gapEdep, gapTrackLength);
G4cout << "--> End of event: " << eventID << "\n" << G4endl;
}
}
@@ -56,7 +56,7 @@ PrimaryGeneratorAction::PrimaryGeneratorAction()
= G4ParticleTable::GetParticleTable()->FindParticle("e-");
fParticleGun->SetParticleDefinition(particleDefinition);
fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.));
fParticleGun->SetParticleEnergy(50.*MeV);
fParticleGun->SetParticleEnergy(300.*MeV);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+3 -3
View File
@@ -61,9 +61,9 @@ RunAction::RunAction()
//
// Creating histograms
analysisManager->CreateH1("Eabs","Edep in absorber", 100, 0., 800*MeV);
analysisManager->CreateH1("Egap","Edep in gap", 100, 0., 100*MeV);
analysisManager->CreateH1("Labs","trackL in absorber", 100, 0., 1*m);
analysisManager->CreateH1("Eabs","Edep in absorber", 110, 0., 330*MeV);
analysisManager->CreateH1("Egap","Edep in gap", 100, 0., 30*MeV);
analysisManager->CreateH1("Labs","trackL in absorber", 100, 0., 50*cm);
analysisManager->CreateH1("Lgap","trackL in gap", 100, 0., 50*cm);
// Creating ntuple
+4
View File
@@ -4,6 +4,10 @@ See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
which **must** added in reverse chronological order (newest at the top). It must **not**
be used as a substitute for writing good git commit messages!
## 2023-01-30 M. Maire (exampleB4-V11-01-00)
- PrimaryGeneratorAction: default e-, 300 MeV
- RunAction: adjust binning of histograms
- update of run1.mac and run2.mac
## 2022-11-29 I. Hrivnacova (exampleB4-V11-00-02)
- Activated merging ntuples with score ntuple writer in B4d
+3 -2
View File
@@ -10,7 +10,7 @@
This example simulates a simple Sampling Calorimeter setup.
To demonstrate several possible ways of data scoring, the example
is provided in four variants: B4a, B4b, B4c, B4d.
(See also examples/extended/electromagnetic/TestEm3)
(See also examples/extended/electromagnetic/TestEm3 or hadronic/Hadr05)
1- GEOMETRY DEFINITION
@@ -45,7 +45,7 @@
==========================================================================
A more general version of this geometry can be found in:
examples/extended/electromagnetic/TestEm3
examples/extended/electromagnetic/TestEm3 or hadronic/Hadr05
where all the geometry parameters, the absorber and gap materials
can be modified interactively via the commands defined in the DetectorMessenger
class.
@@ -169,6 +169,7 @@
- Energy deposit in gap
- Track length in absorber
- Track length in gap
The same values are also saved in an ntuple.
The histograms and the ntuple are saved in the output file in a format
+5 -4
View File
@@ -28,16 +28,17 @@
hist2->Draw("HIST");
// Draw Egap histogram in the pad 3
// with logaritmic scale for y
TH1D* hist3 = (TH1D*)f.Get("Egap");
c1->cd(3);
gPad->SetLogy(1);
// set logarithmic scale for y
//gPad->SetLogy(1);
hist3->Draw("HIST");
// Draw Lgap histogram in the pad 4
// with logaritmic scale for y
c1->cd(4);
gPad->SetLogy(1);
// set logarithmic scale for y
//gPad->SetLogy(1);
TH1D* hist4 = (TH1D*)f.Get("Lgap");
hist4->Draw("HIST");
}
+6 -6
View File
@@ -28,15 +28,15 @@
c1->cd(2);
ntuple->Draw("Labs");
// Draw Egap histogram in the pad 3
// with logaritmic scale for y ?? how to do this?
// Draw Egap histogram in the pad
c1->cd(3);
gPad->SetLogy(1);
//set logarithmic scale for y
//gPad->SetLogy(1);
ntuple->Draw("Egap");
// Draw Lgap histogram in the pad 4
// with logaritmic scale for y ?? how to do this?
c1->cd(4);
gPad->SetLogy(1);
ntuple->Draw("Egap");
//set logarithmic scale for y
//gPad->SetLogy(1);
ntuple->Draw("Lgap");
}
+24 -28
View File
@@ -1,44 +1,40 @@
# Macro file for example B4
#
#
# Can be run in batch, without graphic
# or interactively: Idle> /control/execute run1.mac
#
# Change the default number of workers (in multi-threading mode)
#
# change the default number of workers (in multi-threading mode)
#/run/numberOfThreads 4
#
# Kind of tutorial:
# interactively with visualization, issue the commands one by one:
# Idle> gun/particle mu+
# Idle> ...etc...
#
# Initialize kernel
/run/initialize
#
# Default kinematics:
# electron 50 MeV in direction (0.,0.,1.)
# 1 event with tracking/verbose
# muon 300 MeV in direction (0.,0.,1.)
/gun/particle mu+
/gun/energy 300 MeV
#
/tracking/verbose 1
/run/beamOn 1
#
#
# muon 300 MeV in direction (0.,0.,1.)
# 3 events
#
/gun/particle mu+
/gun/energy 3 MeV
/run/beamOn 3
#
# 20 events
#
/tracking/verbose 0
/run/printProgress 5
/run/beamOn 20
/run/beamOn 10
#
# Magnetic field
#
/globalField/setValue 0.2 0 0 tesla
/run/beamOn 3
# inactivate multiple scattering process
/process/inactivate msc
/run/beamOn 10
#
# Activate/inactivate physics processes
# set a magnetic field
/globalField/setValue 2 0 0 tesla
/run/beamOn 10
#
/process/list
/process/inactivate eBrem
#
/run/beamOn 20
# re-activate multiple scattering
/process/activate msc
/run/beamOn 10
#
# verbosity
/tracking/verbose 2
/run/beamOn 1
+13 -7
View File
@@ -1,17 +1,23 @@
# Macro file for example B4
#
#
# To be run preferably in batch, without graphics:
# % exampleB4[a,b,c,d] run2.mac
# % exampleB4[a,b,c,d] -m run2.mac
#
# Produce Histograms and Ntuples
#
#/run/numberOfThreads 4
#/control/cout/ignoreThreadsExcept 0
#
# reduce the verbosity level for EM and hadronic physics
#/process/em/verbose 0
#/process/had/verbose 0
#
/run/initialize
#
# Default kinemtics:
# electron 50 MeV in direction (0.,0.,1.)
# 1000 events
# Default kinemtics:
# electron 300 MeV in direction (0.,0.,1.)
# 10000 events
#
/run/printProgress 100
/run/beamOn 1000
/run/printProgress 1000
/run/beamOn 10000