Import Geant4 10.3.0 source tree
This commit is contained in:
@@ -27,7 +27,7 @@
|
||||
/// \brief Implementation of the PhysicsList class
|
||||
//
|
||||
//
|
||||
// $Id: PhysicsList.cc 92421 2015-09-01 07:38:57Z gcosmo $
|
||||
// $Id: PhysicsList.cc 101216 2016-11-09 13:54:13Z gcosmo $
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@@ -66,7 +66,7 @@
|
||||
#include "G4IonBinaryCascadePhysics.hh"
|
||||
#include "G4IonPhysics.hh"
|
||||
#include "G4EmExtraPhysics.hh"
|
||||
#include "G4EmProcessOptions.hh"
|
||||
#include "G4EmParameters.hh"
|
||||
|
||||
#include "G4HadronPhysicsFTFP_BERT.hh"
|
||||
#include "G4HadronPhysicsFTFP_BERT_HP.hh"
|
||||
@@ -80,8 +80,6 @@
|
||||
#include "G4HadronPhysicsQGSP_FTFP_BERT.hh"
|
||||
#include "G4HadronPhysicsQGS_BIC.hh"
|
||||
|
||||
#include "G4LossTableManager.hh"
|
||||
|
||||
#include "G4ProcessManager.hh"
|
||||
#include "G4ParticleTypes.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
@@ -94,25 +92,19 @@
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
|
||||
|
||||
PhysicsList::PhysicsList()
|
||||
: G4VModularPhysicsList(),
|
||||
fEmPhysicsList(0), fParticleList(0), fMessenger(0)
|
||||
PhysicsList::PhysicsList() : G4VModularPhysicsList()
|
||||
{
|
||||
G4LossTableManager::Instance();
|
||||
defaultCutValue = 0.7*mm;
|
||||
fCutForGamma = defaultCutValue;
|
||||
fCutForElectron = defaultCutValue;
|
||||
fCutForPositron = defaultCutValue;
|
||||
fCutForProton = defaultCutValue;
|
||||
verboseLevel = 1;
|
||||
SetDefaultCutValue(0.7*CLHEP::mm);
|
||||
|
||||
verboseLevel = 1;
|
||||
|
||||
fMessenger = new PhysicsListMessenger(this);
|
||||
|
||||
// Particles
|
||||
fParticleList = new G4DecayPhysics("decays");
|
||||
fParticleList = new G4DecayPhysics(verboseLevel);
|
||||
|
||||
// EM physics
|
||||
fEmPhysicsList = new G4EmStandardPhysics();
|
||||
fEmPhysicsList = new G4EmStandardPhysics(verboseLevel);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
|
||||
@@ -156,125 +148,126 @@ void PhysicsList::AddPhysicsList(const G4String& name)
|
||||
if (name == "emstandard_opt0") {
|
||||
|
||||
delete fEmPhysicsList;
|
||||
fEmPhysicsList = new G4EmStandardPhysics();
|
||||
fEmPhysicsList = new G4EmStandardPhysics(verboseLevel);
|
||||
|
||||
} else if (name == "emstandard_opt1") {
|
||||
|
||||
delete fEmPhysicsList;
|
||||
fEmPhysicsList = new G4EmStandardPhysics_option1();
|
||||
fEmPhysicsList = new G4EmStandardPhysics_option1(verboseLevel);
|
||||
|
||||
} else if (name == "emstandard_opt2") {
|
||||
|
||||
delete fEmPhysicsList;
|
||||
fEmPhysicsList = new G4EmStandardPhysics_option2();
|
||||
fEmPhysicsList = new G4EmStandardPhysics_option2(verboseLevel);
|
||||
|
||||
} else if (name == "emstandard_opt3") {
|
||||
|
||||
delete fEmPhysicsList;
|
||||
fEmPhysicsList = new G4EmStandardPhysics_option3();
|
||||
fEmPhysicsList = new G4EmStandardPhysics_option3(verboseLevel);
|
||||
|
||||
} else if (name == "emstandard_opt4") {
|
||||
|
||||
delete fEmPhysicsList;
|
||||
fEmPhysicsList = new G4EmStandardPhysics_option4();
|
||||
fEmPhysicsList = new G4EmStandardPhysics_option4(verboseLevel);
|
||||
|
||||
} else if (name == "emstandardGS") {
|
||||
|
||||
delete fEmPhysicsList;
|
||||
fEmPhysicsList = new G4EmStandardPhysicsGS();
|
||||
fEmPhysicsList = new G4EmStandardPhysicsGS(verboseLevel);
|
||||
|
||||
} else if (name == "FTFP_BERT_EMV") {
|
||||
|
||||
AddPhysicsList("emstandard_opt1");
|
||||
AddPhysicsList("FTFP_BERT");
|
||||
AddPhysicsList("emstandard_opt1");
|
||||
|
||||
} else if (name == "FTFP_BERT_EMX") {
|
||||
|
||||
AddPhysicsList("emstandard_opt2");
|
||||
AddPhysicsList("FTFP_BERT");
|
||||
AddPhysicsList("emstandard_opt2");
|
||||
|
||||
} else if (name == "FTFP_BERT_EMY") {
|
||||
|
||||
AddPhysicsList("emstandard_opt3");
|
||||
AddPhysicsList("FTFP_BERT");
|
||||
AddPhysicsList("emstandard_opt3");
|
||||
|
||||
} else if (name == "FTFP_BERT_EMZ") {
|
||||
|
||||
AddPhysicsList("emstandard_opt4");
|
||||
AddPhysicsList("FTFP_BERT");
|
||||
AddPhysicsList("emstandard_opt4");
|
||||
|
||||
} else if (name == "FTFP_BERT") {
|
||||
|
||||
SetBuilderList0(false);
|
||||
fHadronPhys.push_back( new G4HadronPhysicsFTFP_BERT());
|
||||
fHadronPhys.push_back( new G4HadronPhysicsFTFP_BERT(verboseLevel));
|
||||
|
||||
} else if (name == "FTFP_BERT_TRV") {
|
||||
|
||||
AddPhysicsList("emstandardGS");
|
||||
G4EmParameters::Instance()->SetMscStepLimitType( fUseSafety );
|
||||
|
||||
SetBuilderList1(false);
|
||||
fHadronPhys.push_back( new G4HadronPhysicsFTFP_BERT_TRV());
|
||||
fHadronPhys.push_back( new G4HadronPhysicsFTFP_BERT_TRV(verboseLevel));
|
||||
|
||||
} else if (name == "FTF_BIC") {
|
||||
|
||||
SetBuilderList0(false);
|
||||
fHadronPhys.push_back( new G4HadronPhysicsFTF_BIC());
|
||||
fHadronPhys.push_back( new G4HadronPhysicsFTF_BIC(verboseLevel));
|
||||
|
||||
} else if (name == "QBBC") {
|
||||
|
||||
AddPhysicsList("emstandard_opt0");
|
||||
SetBuilderList2();
|
||||
fHadronPhys.push_back( new G4HadronInelasticQBBC());
|
||||
fHadronPhys.push_back( new G4HadronInelasticQBBC(verboseLevel));
|
||||
|
||||
} else if (name == "QGSP_BERT") {
|
||||
|
||||
SetBuilderList0(false);
|
||||
fHadronPhys.push_back( new G4HadronPhysicsQGSP_BERT());
|
||||
fHadronPhys.push_back( new G4HadronPhysicsQGSP_BERT(verboseLevel));
|
||||
|
||||
} else if (name == "QGSP_FTFP_BERT") {
|
||||
|
||||
SetBuilderList0(false);
|
||||
fHadronPhys.push_back( new G4HadronPhysicsQGSP_FTFP_BERT());
|
||||
fHadronPhys.push_back( new G4HadronPhysicsQGSP_FTFP_BERT(verboseLevel));
|
||||
|
||||
} else if (name == "QGSP_FTFP_BERT_EMV") {
|
||||
|
||||
AddPhysicsList("emstandard_opt1");
|
||||
AddPhysicsList("QGSP_FTFP_BERT");
|
||||
AddPhysicsList("emstandard_opt1");
|
||||
|
||||
} else if (name == "QGSP_BERT_EMV") {
|
||||
|
||||
AddPhysicsList("emstandard_opt1");
|
||||
AddPhysicsList("QGSP_BERT");
|
||||
AddPhysicsList("emstandard_opt1");
|
||||
|
||||
} else if (name == "QGSP_BERT_EMX") {
|
||||
|
||||
AddPhysicsList("emstandard_opt2");
|
||||
AddPhysicsList("QGSP_BERT");
|
||||
AddPhysicsList("emstandard_opt2");
|
||||
|
||||
} else if (name == "QGSP_BERT_HP") {
|
||||
|
||||
SetBuilderList0(true);
|
||||
fHadronPhys.push_back( new G4HadronPhysicsQGSP_BERT_HP());
|
||||
fHadronPhys.push_back( new G4HadronPhysicsQGSP_BERT_HP(verboseLevel));
|
||||
|
||||
} else if (name == "QGSP_BIC") {
|
||||
|
||||
SetBuilderList0(false);
|
||||
fHadronPhys.push_back( new G4HadronPhysicsQGSP_BIC());
|
||||
fHadronPhys.push_back( new G4HadronPhysicsQGSP_BIC(verboseLevel));
|
||||
|
||||
} else if (name == "QGSP_BIC_EMY") {
|
||||
|
||||
AddPhysicsList("QGSP_BIC");
|
||||
AddPhysicsList("emstandard_opt3");
|
||||
SetBuilderList0(false);
|
||||
fHadronPhys.push_back( new G4HadronPhysicsQGSP_BIC());
|
||||
|
||||
} else if (name == "QGS_BIC") {
|
||||
|
||||
SetBuilderList0(false);
|
||||
fHadronPhys.push_back( new G4HadronPhysicsQGS_BIC());
|
||||
fHadronPhys.push_back( new G4HadronPhysicsQGS_BIC(verboseLevel));
|
||||
|
||||
} else if (name == "QGSP_BIC_HP") {
|
||||
|
||||
SetBuilderList0(true);
|
||||
fHadronPhys.push_back( new G4HadronPhysicsQGSP_BIC_HP());
|
||||
fHadronPhys.push_back( new G4HadronPhysicsQGSP_BIC_HP(verboseLevel));
|
||||
|
||||
} else {
|
||||
|
||||
@@ -327,56 +320,6 @@ void PhysicsList::SetBuilderList2()
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
|
||||
|
||||
void PhysicsList::SetCuts()
|
||||
{
|
||||
|
||||
if (verboseLevel >0){
|
||||
G4cout << "PhysicsList::SetCuts:";
|
||||
G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl;
|
||||
}
|
||||
|
||||
// set cut values for gamma at first and for e- second and next for e+,
|
||||
// because some processes for e+/e- need cut values for gamma
|
||||
SetCutValue(fCutForGamma, "gamma");
|
||||
SetCutValue(fCutForElectron, "e-");
|
||||
SetCutValue(fCutForPositron, "e+");
|
||||
SetCutValue(fCutForProton, "proton");
|
||||
|
||||
if (verboseLevel>0) { DumpCutValuesTable(); }
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
|
||||
|
||||
void PhysicsList::SetCutForGamma(G4double cut)
|
||||
{
|
||||
fCutForGamma = cut;
|
||||
SetParticleCuts(fCutForGamma, G4Gamma::Gamma());
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void PhysicsList::SetCutForElectron(G4double cut)
|
||||
{
|
||||
fCutForElectron = cut;
|
||||
SetParticleCuts(fCutForElectron, G4Electron::Electron());
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void PhysicsList::SetCutForPositron(G4double cut)
|
||||
{
|
||||
fCutForPositron = cut;
|
||||
SetParticleCuts(fCutForPositron, G4Positron::Positron());
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void PhysicsList::SetCutForProton(G4double cut)
|
||||
{
|
||||
fCutForProton = cut;
|
||||
SetParticleCuts(fCutForProton, G4Proton::Proton());
|
||||
}
|
||||
|
||||
void PhysicsList::List()
|
||||
{
|
||||
G4cout << "### PhysicsLists available: FTFP_BERT FTFP_BERT_EMV "
|
||||
|
||||
Reference in New Issue
Block a user