Import Geant4 10.6.0 source tree

This commit is contained in:
Gabriele Cosmo
2019-12-06 15:12:28 +01:00
parent b2a62ae692
commit 5baee230e9
2997 changed files with 141580 additions and 98673 deletions
@@ -47,6 +47,7 @@
#include "G4PhotoElectricEffect.hh"
#include "G4RayleighScattering.hh"
#include "G4BetheHeitler5DModel.hh"
#include "G4GammaConversionToMuons.hh"
#include "G4eMultipleScattering.hh"
#include "G4MuMultipleScattering.hh"
@@ -99,16 +100,14 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
PhysListEm5DStandard::PhysListEm5DStandard(G4int ver, const G4String&)
: G4VPhysicsConstructor("G4EmStandard_5D"), verbose(ver)
: G4VPhysicsConstructor("G4EmStandard_5D")
{
G4EmParameters* param = G4EmParameters::Instance();
param->SetDefaults();
param->SetVerbose(verbose);
param->SetVerbose(ver);
param->SetNumberOfBinsPerDecade(10);
param->SetMscStepLimitType(fUseSafetyPlus);
#if G4VERSION_NUMBER >= 1040
param->SetLateralDisplacementAlg96(false);
#endif
param->SetFluo(true);
SetPhysicsType(bElectromagnetic);
}
@@ -153,7 +152,7 @@ void PhysListEm5DStandard::ConstructParticle()
void PhysListEm5DStandard::ConstructProcess()
{
if(verbose > 1) {
if(G4EmParameters::Instance()->Verbose() > 1) {
G4cout << "### " << GetPhysicsName() << " Construct Processes " << G4endl;
}
G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper();
@@ -199,11 +198,13 @@ void PhysListEm5DStandard::ConstructProcess()
ph->RegisterProcess(new G4PhotoElectricEffect(), particle);
ph->RegisterProcess(new G4ComptonScattering(), particle);
// Gamma conversion
// Gamma conversion to e+ e-
G4GammaConversion* gc = new G4GammaConversion();
G4VEmModel* theGC5DModel = new G4BetheHeitler5DModel();
gc->SetEmModel(theGC5DModel);
ph->RegisterProcess(gc, particle);
// Gamma conversion to mu+ mu-
ph->RegisterProcess(new G4GammaConversionToMuons(), particle);
// Rayleigh scattering
ph->RegisterProcess(new G4RayleighScattering(), particle);
@@ -116,7 +116,7 @@ void SteppingAction::UserSteppingAction(const G4Step* aStep)
phiCorrel = (yend*ydir + zend*zdir)/lateralDisplacement;
fRunAction->SumPhiCorrel(phiCorrel);
analysisManager->FillH1(9,phiCorrel);
} else if (procName == "conv" ) {
} else if (procName == "conv" || procName == "GammaToMuPair" ) {
// gamma conversion
@@ -136,13 +136,17 @@ void SteppingAction::UserSteppingAction(const G4Step* aStep)
if (Nsecondaries == 0) return;
for (size_t lp=0; lp< std::min(Nsecondaries,size_t(2) ); lp++) {
if ((*secondary)[lp]->GetDefinition()==G4Electron::ElectronDefinition()) {
Pminus = (*secondary)[lp]->GetMomentum();
}
if ((*secondary)[lp]->GetDefinition()==G4Positron::PositronDefinition()) {
Eplus = (*secondary)[lp]->GetTotalEnergy();
Pplus = (*secondary)[lp]->GetMomentum();
}
if (((*secondary)[lp]->GetDefinition()==G4Electron::Definition())
|| ((*secondary)[lp]->GetDefinition()==G4MuonMinus::Definition()) )
{
Pminus = (*secondary)[lp]->GetMomentum();
}
if (((*secondary)[lp]->GetDefinition()==G4Positron::Definition())
|| ((*secondary)[lp]->GetDefinition()==G4MuonPlus::Definition()) )
{
Eplus = (*secondary)[lp]->GetTotalEnergy();
Pplus = (*secondary)[lp]->GetMomentum();
}
}
if ( Nsecondaries >= 3 ) {