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
+18
View File
@@ -4,6 +4,24 @@ 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-11-09 Yoshihide Sato (phys-lists-V11-01-07)
- Add a option for `Shielding` to use G4LightIonQMDPhysics,
which is the constructor of light ion qmd.
## 2023-11-06 Vladimir Ivantchenko (phys-lists-V11-01-06)
- G4PhysListFactoryMessenger - added UI commands to enable neutrino and
charge exchange physics
## 2023-10-26 Alberto Ribon (phys-lists-V11-01-05)
- FTFP_BERT_ATL : use a specific FTF tune meant to overcome the problem of
too optimistic (i.e. narrow) pion shower energy resolutions in ATLAS
calorimeters with respect to test-beam data.
## 2023-10-15 Vladimir Ivantchenko (phys-lists-V11-01-04)
- QGSP_BERT_HP - use alternative HP models and cross sections
- QGSP_BERT_AllHP - use default HP elastic builder
## 2023-05-15 Alberto Ribon (phys-lists-V11-01-03)
- Use the new class G4StoppingPhysicsWithINCLXX (instead of G4StoppingPhysics)
in INCLXXPhysicsListHelper : all the INCLXX-based physics lists use INCLXX
@@ -32,7 +32,7 @@
// This is a modified version of the FTFP_BERT physics list for ATLAS.
// The physics list FTFP_BERT_ATL has the transition between Bertini (BERT)
// intra-nuclear cascade model and Fritiof (FTF) string model in the
// energy region [9, 12] GeV (instead of [4, 5] GeV as in FTFP_BERT).
// energy region [9, 12] GeV (instead of [3, 6] GeV as in FTFP_BERT).
//----------------------------------------------------------------------------
//
#ifndef FTFP_BERT_ATL_h
@@ -56,6 +56,8 @@ private:
G4UIcommand* theRadDecay;
G4UIcommand* theOptical;
G4UIcommand* theThermal;
G4UIcommand* theNeutrino;
G4UIcommand* theChargeEx;
G4UIdirectory* theDir;
};
@@ -47,7 +47,7 @@ class Shielding : public G4VModularPhysicsList
{
public:
explicit Shielding(G4int verb = 1 , const G4String& n_model = "HP",
const G4String& HadrPhysVariant = "");
const G4String& HadrPhysVariant = "", G4bool useLightIonQMD = false);
virtual ~Shielding()=default;
//delete copy constructor and assignment operator
@@ -32,7 +32,7 @@
// This is a modified version of the FTFP_BERT physics list for ATLAS.
// The physics list FTFP_BERT_ATL has the transition between Bertini (BERT)
// intra-nuclear cascade model and Fritiof (FTF) string model in the
// energy region [9, 12] GeV (instead of [4, 5] GeV as in FTFP_BERT).
// energy region [9, 12] GeV (instead of [3, 6] GeV as in FTFP_BERT).
//----------------------------------------------------------------------------
//
#include <iomanip>
@@ -52,6 +52,7 @@
#include "G4HadronPhysicsFTFP_BERT_ATL.hh"
#include "G4WarnPLStatus.hh"
#include "G4FTFTunings.hh"
FTFP_BERT_ATL::FTFP_BERT_ATL(G4int ver)
{
@@ -64,6 +65,11 @@ FTFP_BERT_ATL::FTFP_BERT_ATL(G4int ver)
defaultCutValue = 0.7*CLHEP::mm;
SetVerboseLevel(ver);
// Use the 4th tunes of Fritiof (FTF) string model, meant to to overcome
// the problem of too optimistic (i.e. narrow) pion shower energy resolutions
// in ATLAS calorimeters with respect to test-beam data.
G4FTFTunings::Instance()->SetTuneApplicabilityState( 4, 1 );
// EM Physics
RegisterPhysics( new G4EmStandardPhysics(ver));
@@ -38,7 +38,8 @@
#include "G4RadioactiveDecayPhysics.hh"
#include "G4OpticalPhysics.hh"
#include "G4ThermalNeutrons.hh"
#include "G4NeutrinoPhysics.hh"
#include "G4ChargeExchangePhysics.hh"
G4PhysListFactoryMessenger::G4PhysListFactoryMessenger(G4VModularPhysicsList* pl)
{
@@ -60,6 +61,14 @@ G4PhysListFactoryMessenger::G4PhysListFactoryMessenger(G4VModularPhysicsList* pl
theThermal->SetGuidance("Enable special elastic scattering of thermal neutrons (Ekin < 4 eV).");
theThermal->SetGuidance("Important note: to be used only with HP-based physics lists!");
theThermal->AvailableForStates(G4State_PreInit);
theNeutrino = new G4UIcommand("/physics_lists/factory/addNeutrino",this);
theNeutrino->SetGuidance("Enable physics processes for neutrino.");
theNeutrino->AvailableForStates(G4State_PreInit);
theChargeEx = new G4UIcommand("/physics_lists/factory/addChargeExchange",this);
theChargeEx->SetGuidance("Enable charge exchange hadronic processes.");
theChargeEx->AvailableForStates(G4State_PreInit);
}
G4PhysListFactoryMessenger::~G4PhysListFactoryMessenger()
@@ -67,17 +76,23 @@ G4PhysListFactoryMessenger::~G4PhysListFactoryMessenger()
delete theThermal;
delete theOptical;
delete theRadDecay;
delete theNeutrino;
delete theChargeEx;
delete theDir;
}
void G4PhysListFactoryMessenger::SetNewValue(G4UIcommand* aComm, G4String)
{
G4int ver = thePhysList->GetVerboseLevel();
if(aComm == theRadDecay) {
if (aComm == theRadDecay) {
thePhysList->RegisterPhysics(new G4RadioactiveDecayPhysics(ver));
} else if(aComm == theOptical) {
} else if (aComm == theOptical) {
thePhysList->RegisterPhysics(new G4OpticalPhysics(ver));
} else if(aComm == theThermal) {
} else if (aComm == theThermal) {
thePhysList->RegisterPhysics(new G4ThermalNeutrons(ver));
} else if (aComm == theNeutrino) {
thePhysList->RegisterPhysics(new G4NeutrinoPhysics(ver));
} else if(aComm == theChargeEx) {
thePhysList->RegisterPhysics(new G4ChargeExchangePhysics(ver));
}
}
@@ -40,13 +40,15 @@
// 04.06.2010 G.Folger: Use new ctor for builders
// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts
// 16.10.2012 A.Ribon: Use new default stopping
// 12.10.2023 V.Ivanchenko added usage of alternative neutron HP models and
// processes
//
//----------------------------------------------------------------------------
//
#include <iomanip>
#include <CLHEP/Units/SystemOfUnits.h>
#include "G4SystemOfUnits.hh"
#include "globals.hh"
#include "G4ios.hh"
@@ -56,8 +58,9 @@
#include "G4EmStandardPhysics.hh"
#include "G4EmExtraPhysics.hh"
#include "G4IonPhysics.hh"
#include "G4IonElasticPhysics.hh"
#include "G4StoppingPhysics.hh"
#include "G4HadronElasticPhysicsHP.hh"
#include "G4HadronElasticPhysicsVI.hh"
#include "QGSP_BERT_HP.hh"
#include "G4HadronPhysicsQGSP_BERT_HP.hh"
@@ -83,7 +86,7 @@ QGSP_BERT_HP::QGSP_BERT_HP(G4int ver)
RegisterPhysics( new G4RadioactiveDecayPhysics(ver) );
// Hadron Elastic scattering
RegisterPhysics( new G4HadronElasticPhysicsHP(ver) );
RegisterPhysics( new G4HadronElasticPhysicsVI(ver) );
// Hadron Physics
RegisterPhysics( new G4HadronPhysicsQGSP_BERT_HP(ver));
@@ -93,6 +96,7 @@ QGSP_BERT_HP::QGSP_BERT_HP(G4int ver)
// Ion Physics
RegisterPhysics( new G4IonPhysics(ver));
RegisterPhysics( new G4IonElasticPhysics(ver) );
}
+7 -2
View File
@@ -55,6 +55,7 @@
#include "G4EmStandardPhysics_option4.hh"
#include "G4EmExtraPhysics.hh"
#include "G4IonQMDPhysics.hh"
#include "G4LightIonQMDPhysics.hh"
#include "G4IonElasticPhysics.hh"
#include "G4StoppingPhysics.hh"
#include "G4HadronElasticPhysicsHP.hh"
@@ -67,7 +68,7 @@
#include <CLHEP/Units/SystemOfUnits.h>
Shielding::Shielding(G4int verbose, const G4String& n_model,
const G4String& HadrPhysVariant )
const G4String& HadrPhysVariant, G4bool useLightIonQMD)
{
G4String LEN_model = n_model;
size_t find = LEN_model.find("LEND__");
@@ -173,5 +174,9 @@ Shielding::Shielding(G4int verbose, const G4String& n_model,
// Ion Physics
RegisterPhysics( new G4IonElasticPhysics(verbose) );
RegisterPhysics( new G4IonQMDPhysics(verbose) );
if (useLightIonQMD){
RegisterPhysics( new G4LightIonQMDPhysics(verbose) );
} else {
RegisterPhysics( new G4IonQMDPhysics(verbose) );
}
}