Import Geant4 11.1.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2022-07-01 10:44:02 +02:00
parent b3bf75a2a1
commit c07cea1fe0
2172 changed files with 183300 additions and 123938 deletions
+26 -53
View File
@@ -49,79 +49,52 @@
void G4PhysListUtil::InitialiseParameters()
{
G4NistManager::Instance();
G4EmParameters::Instance()->SetDefaults();
G4HadronicParameters::Instance();
G4NuclearLevelData::GetInstance();
}
G4VProcess* G4PhysListUtil::FindProcess(const G4ParticleDefinition* part,
G4int subtype)
{
G4VProcess* proc = nullptr;
if(nullptr == part) { return proc; }
G4ProcessVector* pvec = part->GetProcessManager()->GetProcessList();
if(nullptr == pvec) { return proc; }
size_t n = pvec->size();
for(size_t i=0; i<n; ++i) {
auto ptr = (*pvec)[i];
if(ptr != nullptr && subtype == ptr->GetProcessSubType()) {
proc = ptr;
break;
}
}
return proc;
}
G4HadronicProcess*
G4PhysListUtil::FindInelasticProcess(const G4ParticleDefinition* p)
{
G4HadronicProcess* had = nullptr;
if(p) {
G4ProcessVector* pvec = p->GetProcessManager()->GetProcessList();
size_t n = pvec->size();
for(size_t i=0; i<n; ++i) {
auto proc = (*pvec)[i];
if(proc != nullptr && fHadronInelastic == proc->GetProcessSubType()) {
had = static_cast<G4HadronicProcess*>(proc);
break;
}
}
}
return had;
auto proc = FindProcess(p, fHadronInelastic);
return dynamic_cast<G4HadronicProcess*>(proc);
}
G4HadronicProcess*
G4PhysListUtil::FindElasticProcess(const G4ParticleDefinition* p)
{
G4HadronicProcess* had = nullptr;
if(p) {
G4ProcessVector* pvec = p->GetProcessManager()->GetProcessList();
size_t n = pvec->size();
for(size_t i=0; i<n; ++i) {
auto proc = (*pvec)[i];
if(proc != nullptr && fHadronElastic == proc->GetProcessSubType()) {
had = static_cast<G4HadronicProcess*>(proc);
break;
}
}
}
return had;
auto proc = FindProcess(p, fHadronElastic);
return dynamic_cast<G4HadronicProcess*>(proc);
}
G4HadronicProcess*
G4PhysListUtil::FindCaptureProcess(const G4ParticleDefinition* p)
{
G4HadronicProcess* had = nullptr;
if(p) {
G4ProcessVector* pvec = p->GetProcessManager()->GetProcessList();
size_t n = pvec->size();
for(size_t i=0; i<n; ++i) {
auto proc = (*pvec)[i];
if(proc != nullptr && fCapture == proc->GetProcessSubType()) {
had = static_cast<G4HadronicProcess*>(proc);
break;
}
}
}
return had;
auto proc = FindProcess(p, fCapture);
return dynamic_cast<G4HadronicProcess*>(proc);
}
G4HadronicProcess*
G4PhysListUtil::FindFissionProcess(const G4ParticleDefinition* p)
{
G4HadronicProcess* had = nullptr;
if(p) {
G4ProcessVector* pvec = p->GetProcessManager()->GetProcessList();
size_t n = pvec->size();
for(size_t i=0; i<n; ++i) {
auto proc = (*pvec)[i];
if(proc != nullptr && fFission == proc->GetProcessSubType()) {
had = static_cast<G4HadronicProcess*>(proc);
break;
}
}
}
return had;
auto proc = FindProcess(p, fFission);
return dynamic_cast<G4HadronicProcess*>(proc);
}