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(Par02)
#----------------------------------------------------------------------------
@@ -66,11 +66,11 @@ int main( int argc, char** argv ) {
runManager->SetNumberOfThreads(4);
// Detector/mass geometry:
G4VUserDetectorConstruction* detector = new Par02DetectorConstruction();
auto detector = new Par02DetectorConstruction();
runManager->SetUserInitialization( detector );
// PhysicsList (including G4FastSimulationManagerProcess)
G4VUserPhysicsList* physicsList = new Par02PhysicsList;
auto physicsList = new Par02PhysicsList;
runManager->SetUserInitialization( physicsList );
//-------------------------------
@@ -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
@@ -29,27 +29,27 @@ G4GDML: Reading 'Par02FullDetector.gdml' done!
Stripping off GDML names of materials, solids and volumes ...
Geometry loaded from file .......Par02FullDetector.gdml
ecal !!!
ecal !!!
hcal !!!
hcal !!!
ecal !!!
ecal !!!
hcal !!!
hcal !!!
hcal !!!
tracker !!!
ecal !!!
ecal !!!
ecal !!!
ecal !!!
hcal !!!
hcal !!!
hcal !!!
Instantiating Visualization Manager.......
Visualization Manager instantiating with verbosity "warnings (3)"...
Visualization Manager initialising...
@@ -78,6 +78,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...
@@ -1120,11 +1124,12 @@ See commands in /vis/modeling/trajectories/ for other options.
________Tracker model triggered _________
... write file : DefaultOutput.root - done
... close file : DefaultOutput.root - done
There are 3 h1 histograms
0 with 0 entries: momentum smeared in tracker
1 with 0 entries: energy smeared in EMCal
2 with 0 entries: energy smeared in HCal
List them with "/analysis/list".
View them with "/vis/plot" or "/vis/reviewPlots".
There are histograms that can be viewed with visualization:
3 h1 histograms(s)
List them with "/analysis/list".
View them immediately with "/vis/plot" or "/vis/reviewPlots".
But...there are no entries. To make your histograms available for
plotting in this UI session, use CloseFile(false) in your
EndOfRunAction and Reset() in your BeginOfRunAction.
Graphics systems deleted.
Visualization Manager deleting...
@@ -53,7 +53,7 @@ Par02ActionInitialization::Par02ActionInitialization( const G4String aOutName )
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Par02ActionInitialization::~Par02ActionInitialization() {}
Par02ActionInitialization::~Par02ActionInitialization() = default;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -38,11 +38,11 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Par02DetectorConstruction::Par02DetectorConstruction() {}
Par02DetectorConstruction::Par02DetectorConstruction() = default;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Par02DetectorConstruction::~Par02DetectorConstruction() {}
Par02DetectorConstruction::~Par02DetectorConstruction() = default;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -33,11 +33,11 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Par02DetectorParametrisation::Par02DetectorParametrisation() {}
Par02DetectorParametrisation::Par02DetectorParametrisation() = default;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Par02DetectorParametrisation::~Par02DetectorParametrisation() {}
Par02DetectorParametrisation::~Par02DetectorParametrisation() = default;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -48,7 +48,7 @@ Par02EventAction::Par02EventAction( G4bool aSmear ) :
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Par02EventAction::~Par02EventAction() {}
Par02EventAction::~Par02EventAction() = default;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -39,7 +39,7 @@ Par02EventInformation::Par02EventInformation( G4bool aSmear ): fDoSmearing( aSme
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Par02EventInformation::~Par02EventInformation() {}
Par02EventInformation::~Par02EventInformation() = default;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -67,7 +67,7 @@ Par02FastSimModelEMCal::Par02FastSimModelEMCal( G4String aModelName ) :
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Par02FastSimModelEMCal::~Par02FastSimModelEMCal() {}
Par02FastSimModelEMCal::~Par02FastSimModelEMCal() = default;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -99,7 +99,7 @@ void Par02FastSimModelEMCal::DoIt( const G4FastTrack& aFastTrack,
// Consider only primary tracks (do nothing else for secondary e-, e+, gammas)
G4ThreeVector Pos = aFastTrack.GetPrimaryTrack()->GetPosition();
if ( ! aFastTrack.GetPrimaryTrack()->GetParentID() ) {
Par02EventInformation* info = (Par02EventInformation*)
auto info = (Par02EventInformation*)
G4EventManager::GetEventManager()->GetUserInformation();
if ( info->GetDoSmearing() ) {
// Smearing according to the electromagnetic calorimeter resolution
@@ -63,7 +63,7 @@ Par02FastSimModelHCal::Par02FastSimModelHCal( G4String aModelName ) :
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Par02FastSimModelHCal::~Par02FastSimModelHCal() {}
Par02FastSimModelHCal::~Par02FastSimModelHCal() = default;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -101,7 +101,7 @@ void Par02FastSimModelHCal::DoIt( const G4FastTrack& aFastTrack,
// Consider only primary tracks (do nothing else for secondary hadrons)
G4ThreeVector Pos = aFastTrack.GetPrimaryTrack()->GetPosition();
if ( ! aFastTrack.GetPrimaryTrack()->GetParentID() ) {
Par02EventInformation* info = (Par02EventInformation*)
auto info = (Par02EventInformation*)
G4EventManager::GetEventManager()->GetUserInformation();
if ( info->GetDoSmearing() ) {
// Smearing according to the hadronic calorimeter resolution
@@ -117,7 +117,7 @@ void Par02FastSimModelHCal::DoIt( const G4FastTrack& aFastTrack,
SmearEnergy( aFastTrack.GetPrimaryTrack(), res ) );
Par02Output::Instance()->FillHistogram( 2, (Esm/MeV) / (Edep/MeV) );
// Setting the values of Pos, Esm, res and eff
Par02PrimaryParticleInformation* primaryInfo=
auto primaryInfo=
static_cast<Par02PrimaryParticleInformation*>(
( aFastTrack.GetPrimaryTrack()->GetDynamicParticle()->GetPrimaryParticle() )->
GetUserInformation() ) ;
@@ -71,7 +71,7 @@ Par02FastSimModelTracker::Par02FastSimModelTracker( G4String aModelName ) :
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Par02FastSimModelTracker::~Par02FastSimModelTracker() {}
Par02FastSimModelTracker::~Par02FastSimModelTracker() = default;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -123,7 +123,7 @@ void Par02FastSimModelTracker::DoIt( const G4FastTrack& aFastTrack,
// Consider only primary tracks (do nothing else for secondary charged particles)
G4ThreeVector Porg = aFastTrack.GetPrimaryTrack()->GetMomentum();
if ( ! aFastTrack.GetPrimaryTrack()->GetParentID() ) {
Par02EventInformation* info = (Par02EventInformation*)
auto info = (Par02EventInformation*)
G4EventManager::GetEventManager()->GetUserInformation();
if ( info->GetDoSmearing() ) {
// Smearing according to the tracking detector resolution
@@ -38,7 +38,7 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Par02Output* Par02Output::fPar02Output = 0;
Par02Output* Par02Output::fPar02Output = nullptr;
G4ThreadLocal G4int Par02Output::fCurrentNtupleId = 0;
G4ThreadLocal G4int Par02Output::fCurrentID = 0;
@@ -50,8 +50,7 @@ Par02Output::Par02Output() : fFileNameWithRunNo( false ) {
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Par02Output::~Par02Output() {
}
Par02Output::~Par02Output() = default;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -74,7 +74,7 @@ Par02PhysicsList::Par02PhysicsList() : G4VUserPhysicsList() {
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Par02PhysicsList::~Par02PhysicsList() {}
Par02PhysicsList::~Par02PhysicsList() = default;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -144,7 +144,7 @@ void Par02PhysicsList::AddTransportation() {
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Par02PhysicsList::ConstructGeneral() {
G4Decay* theDecayProcess = new G4Decay();
auto theDecayProcess = new G4Decay();
auto particleIterator=GetParticleIterator();
particleIterator->reset();
while ( (*particleIterator)() ) {
@@ -40,7 +40,7 @@ Par02PrimaryParticleInformation::Par02PrimaryParticleInformation(
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Par02PrimaryParticleInformation::~Par02PrimaryParticleInformation() {}
Par02PrimaryParticleInformation::~Par02PrimaryParticleInformation() = default;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -39,7 +39,7 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Par02Smearer* Par02Smearer::fPar02Smearer = 0;
Par02Smearer* Par02Smearer::fPar02Smearer = nullptr;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -51,7 +51,7 @@ Par02Smearer::Par02Smearer() {
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Par02Smearer::~Par02Smearer() {}
Par02Smearer::~Par02Smearer() = default;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -48,7 +48,7 @@ Par02TrackingAction::Par02TrackingAction() : G4UserTrackingAction() {}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Par02TrackingAction::~Par02TrackingAction() {}
Par02TrackingAction::~Par02TrackingAction() = default;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -65,7 +65,7 @@ void Par02TrackingAction::PreUserTrackingAction( const G4Track* aTrack ) {
void Par02TrackingAction::PostUserTrackingAction( const G4Track* aTrack ) {
if ( aTrack->GetTrackStatus() == fStopAndKill && aTrack->GetParentID() == 0 ) {
Par02PrimaryParticleInformation* info = (Par02PrimaryParticleInformation*)
auto info = (Par02PrimaryParticleInformation*)
aTrack->GetDynamicParticle()->GetPrimaryParticle()->GetUserInformation();
//info->Print();
Par02Output::Instance()->SaveTrack( Par02Output::eSaveMC,
@@ -1,17 +1,7 @@
# 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: