Import Geant4 11.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2023-12-08 10:43:34 +01:00
parent dd1f179cda
commit 860a2b92bf
3962 changed files with 139318 additions and 164259 deletions
@@ -1,6 +1,6 @@
#----------------------------------------------------------------------------
# Setup the project
cmake_minimum_required(VERSION 3.16...3.21)
cmake_minimum_required(VERSION 3.16...3.27)
project(Par03)
#----------------------------------------------------------------------------
@@ -5,6 +5,9 @@ which **must** added in reverse chronological order (newest at the top). It must
be used as a substitute for writing good git commit messages!
## 2023-10-19 Ben Morgan (expar03-V11-01-00)
- Replace use of deprecated functions with modern equivalents
## 2022-09-13 Anna Zaborowska (expar03-V11-00-01)
- Start class member functions with uppercase
to match guidelines
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-01-ref-06 (30-June-2023)
Geant4 version Name: geant4-11-02-ref-00 (8-December-2023)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -49,6 +49,10 @@ Registered graphics systems are:
TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB)
TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG)
TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB)
Default graphics system is: TSG_OFFSCREEN (based on batch session).
Default window size hint is: 600x600-0+0 (based on G4VisManager initialisation).
Note: Parameters specified on the command line will override these defaults.
Use "vis/open" without parameters to get these defaults.
Registering model factories...
@@ -114,384 +118,243 @@ Checking overlaps for volume Detector:99 (G4Tubs) ... OK!
====================================================================
HADRONIC PROCESSES SUMMARY (verbose level 1)
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for neutron
Process: hadElastic
Model: hElasticCHIPS: 0 eV ---> 100 TeV
Cr_sctns: G4NeutronElasticXS: 0 eV ---> 100 TeV
Process: neutronInelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: G4NeutronInelasticXS: 0 eV ---> 100 TeV
Process: nCapture
Model: nRadCapture: 0 eV ---> 100 TeV
Cr_sctns: G4NeutronCaptureXS: 0 eV ---> 100 TeV
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
Process: ionInelastic
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
Model: FTFP: 3 GeV/n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for He3
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: He3Inelastic
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
Model: FTFP: 3 GeV/n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for alpha
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: alphaInelastic
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
Model: FTFP: 3 GeV/n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_He3
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_He3Inelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_alpha
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_alphaInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_deuteron
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_deuteronInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-------------------------------------------------------------------------
Hadronic Processes for anti_hypertriton
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
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100.1 MeV
Model: AntiAElastic: 100 MeV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_neutronInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_proton
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100.1 MeV
Model: AntiAElastic: 100 MeV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_protonInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for anti_triton
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: anti_tritonInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 25.6 PeV
Process: hFritiofCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for deuteron
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: dInelastic
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
Model: FTFP: 3 GeV/n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for e+
Process: positronNuclear
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for e-
Process: electronNuclear
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for gamma
Process: photonNuclear
Model: GammaNPreco: 0 eV ---> 200 MeV
Model: BertiniCascade: 199 MeV ---> 6 GeV
Model: TheoFSGenerator: 3 GeV ---> 100 TeV
Cr_sctns: GammaNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for kaon+
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: kaon+Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for kaon-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: kaon-Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for lambda
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: lambdaInelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for mu+
Process: muonNuclear
Model: G4MuonVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: KokoulinMuonNuclearXS: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for mu-
Process: muonNuclear
Model: G4MuonVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: KokoulinMuonNuclearXS: 0 eV ---> 100 TeV
Process: muMinusCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for pi+
Process: hadElastic
Model: hElasticGlauber: 0 eV ---> 100 TeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
Process: pi+Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for pi-
Process: hadElastic
Model: hElasticGlauber: 0 eV ---> 100 TeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
Process: pi-Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for proton
Process: hadElastic
Model: hElasticCHIPS: 0 eV ---> 100 TeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
Process: protonInelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: BarashenkovGlauberGribov: 0 eV ---> 100 TeV
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for sigma-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: sigma-Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 6 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
---------------------------------------------------
-----------------------------------------------------------------------
Hadronic Processes for triton
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
Process: tInelastic
Model: Binary Light Ion Cascade: 0 eV /n ---> 6 GeV/n
Model: FTFP: 3 GeV/n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 25.6 PeV
================================================================
=======================================================================
====== Geant4 Native Pre-compound Model Parameters ========
=======================================================================
@@ -120,7 +120,7 @@ int main(int argc, char** argv)
if(useInteractiveMode)
{
G4UIExecutive* ui = new G4UIExecutive(argc, argv);
auto ui = new G4UIExecutive(argc, argv);
UImanager->ApplyCommand("/control/execute vis.mac");
ui->SessionStart();
delete ui;
@@ -36,7 +36,7 @@ Par03ActionInitialisation::Par03ActionInitialisation(
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Par03ActionInitialisation::~Par03ActionInitialisation() {}
Par03ActionInitialisation::~Par03ActionInitialisation() = default;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -58,7 +58,7 @@ Par03DetectorConstruction::Par03DetectorConstruction()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Par03DetectorConstruction::~Par03DetectorConstruction() {}
Par03DetectorConstruction::~Par03DetectorConstruction() = default;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -51,7 +51,7 @@ Par03EMShowerModel::Par03EMShowerModel(G4String aModelName)
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Par03EMShowerModel::~Par03EMShowerModel() {}
Par03EMShowerModel::~Par03EMShowerModel() = default;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -97,11 +97,11 @@ void Par03EMShowerModel::DoIt(const G4FastTrack& aFastTrack,
{
// Remove particle from further processing by G4
aFastStep.KillPrimaryTrack();
aFastStep.SetPrimaryTrackPathLength(0.0);
aFastStep.ProposePrimaryTrackPathLength(0.0);
G4double energy = aFastTrack.GetPrimaryTrack()->GetKineticEnergy();
// No need to create any deposit, it will be handled by this model (and
// G4FastSimHitMaker that will call the sensitive detector)
aFastStep.SetTotalEnergyDeposited(0);
aFastStep.ProposeTotalEnergyDeposited(0);
auto particlePosition = aFastTrack.GetPrimaryTrackLocalPosition();
auto particleDirection = aFastTrack.GetPrimaryTrackLocalDirection();
@@ -209,4 +209,4 @@ void Par03EMShowerModel::Print() const
"0.5 for photons (Eq. (33.36) from PDG)."
<< G4endl;
G4cout << "Number of created energy deposits: " << fNbOfHits << G4endl;
}
}
@@ -42,7 +42,7 @@ Par03EventAction::Par03EventAction(Par03DetectorConstruction* aDetector)
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Par03EventAction::~Par03EventAction() {}
Par03EventAction::~Par03EventAction() = default;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -44,7 +44,7 @@ Par03Hit::Par03Hit()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Par03Hit::~Par03Hit() {}
Par03Hit::~Par03Hit() = default;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -42,7 +42,7 @@ Par03RunAction::Par03RunAction(Par03DetectorConstruction* aDetector)
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Par03RunAction::~Par03RunAction() {}
Par03RunAction::~Par03RunAction() = default;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -51,7 +51,7 @@ Par03SensitiveDetector::Par03SensitiveDetector(G4String aName, G4int aNumLayers,
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Par03SensitiveDetector::~Par03SensitiveDetector() {}
Par03SensitiveDetector::~Par03SensitiveDetector() = default;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -71,7 +71,7 @@ void Par03SensitiveDetector::Initialize(G4HCofThisEvent* aHCE)
for(G4int irho = 0; irho < fCellNoRho; irho++)
for(G4int iz = 0; iz < fCellNoZ; iz++)
{
Par03Hit* hit = new Par03Hit();
auto hit = new Par03Hit();
fHitsCollection->insert(hit);
}
}
@@ -84,7 +84,7 @@ G4bool Par03SensitiveDetector::ProcessHits(G4Step* aStep, G4TouchableHistory*)
if(edep == 0.)
return true;
G4TouchableHistory* aTouchable =
auto aTouchable =
(G4TouchableHistory*) (aStep->GetPreStepPoint()->GetTouchable());
auto hit = RetrieveAndSetupHit(aTouchable);
@@ -1,20 +1,10 @@
# Use default detector dimensions and initialize
/run/initialize
# Use this open statement to create an OpenGL view:
/vis/open OGL 600x600-0+0
#
# Use this open statement to create a .prim file suitable for
# viewing in DAWN:
#/vis/open DAWNFILE
#
# Use this open statement to create a .heprep file suitable for
# viewing in HepRApp:
#/vis/open HepRepFile
#
# Use this open statement to create a .wrl file suitable for
# viewing in a VRML viewer:
#/vis/open VRML2FILE
# Open a viewer
/vis/open
# This opens the default viewer - see examples/basic/B1/vis.mac for a
# more comprehensive overview of options. Also the documentation.
#
# Disable auto refresh and quieten vis messages whilst scene and
# trajectories are established: