80 : defName(
"FTFP_BERT"),verbose(1),theMessenger(nullptr)
84 "FTFP_BERT",
"FTFP_BERT_TRV",
"FTFP_BERT_ATL",
"FTFP_BERT_HP",
"FTFQGSP_BERT",
85 "FTFP_INCLXX",
"FTFP_INCLXX_HP",
"FTF_BIC",
"LBE",
"QBBC",
86 "QGSP_BERT",
"QGSP_BERT_HP",
"QGSP_BIC",
"QGSP_BIC_HP",
"QGSP_BIC_AllHP",
87 "QGSP_FTFP_BERT",
"QGSP_INCLXX",
"QGSP_INCLXX_HP",
"QGS_BIC",
88 "Shielding",
"ShieldingLEND",
"ShieldingM",
"NuBeam"};
89 for(
size_t i=0; i<nlists_hadr; ++i) {
90 listnames_hadr.push_back(ss[i]);
94 G4String s1[12] = {
"",
"_EMV",
"_EMX",
"_EMY",
"_EMZ",
"_LIV",
"_PEN",
95 "__GS",
"__SS",
"_EM0",
"_WVI",
"__LE"};
96 for(
size_t i=0; i<nlists_em; ++i) {
97 listnames_em.push_back(s1[i]);
111 char* path = std::getenv(
"PHYSLIST");
116 G4cout <<
"### G4PhysListFactory WARNING: "
117 <<
" environment variable PHYSLIST is not defined"
119 <<
" Default Physics Lists " << name
120 <<
" is instantiated"
130 size_t n = name.size();
138 em_name = name.substr(n - 4, 4);
139 for(
size_t i=1; i<nlists_em; ++i) {
140 if(listnames_em[i] == em_name) {
146 if(0 == em_opt) { em_name =
""; }
150 G4String had_name = name.substr(0, n);
153 G4cout <<
"G4PhysListFactory::GetReferencePhysList <" << had_name
154 << em_name <<
"> EMoption= " << em_opt <<
G4endl;
157 if(had_name ==
"FTFP_BERT") {p =
new FTFP_BERT(verbose);}
158 else if(had_name ==
"FTFP_BERT_HP") {p =
new FTFP_BERT_HP(verbose);}
159 else if(had_name ==
"FTFP_BERT_TRV") {p =
new FTFP_BERT_TRV(verbose);}
160 else if(had_name ==
"FTFP_BERT_ATL") {p =
new FTFP_BERT_ATL(verbose);}
161 else if(had_name ==
"FTFQGSP_BERT") {p =
new FTFQGSP_BERT(verbose);}
162 else if(had_name ==
"FTFP_INCLXX") {p =
new FTFP_INCLXX(verbose);}
163 else if(had_name ==
"FTFP_INCLXX_HP") {p =
new FTFP_INCLXX_HP(verbose);}
164 else if(had_name ==
"FTF_BIC") {p =
new FTF_BIC(verbose);}
165 else if(had_name ==
"LBE") {p =
new LBE();}
166 else if(had_name ==
"QBBC") {p =
new QBBC(verbose);}
167 else if(had_name ==
"QGSP_BERT") {p =
new QGSP_BERT(verbose);}
168 else if(had_name ==
"QGSP_BERT_HP") {p =
new QGSP_BERT_HP(verbose);}
169 else if(had_name ==
"QGSP_BIC") {p =
new QGSP_BIC(verbose);}
170 else if(had_name ==
"QGSP_BIC_HP") {p =
new QGSP_BIC_HP(verbose);}
171 else if(had_name ==
"QGSP_BIC_AllHP") {p =
new QGSP_BIC_AllHP(verbose);}
172 else if(had_name ==
"QGSP_FTFP_BERT") {p =
new QGSP_FTFP_BERT(verbose);}
173 else if(had_name ==
"QGSP_INCLXX") {p =
new QGSP_INCLXX(verbose);}
174 else if(had_name ==
"QGSP_INCLXX_HP") {p =
new QGSP_INCLXX_HP(verbose);}
175 else if(had_name ==
"QGS_BIC") {p =
new QGS_BIC(verbose);}
176 else if(had_name ==
"Shielding") {p =
new Shielding(verbose);}
177 else if(had_name ==
"ShieldingLEND") {p =
new ShieldingLEND(verbose);}
178 else if(had_name ==
"ShieldingM") {p =
new Shielding(verbose,
"HP",
"M");}
179 else if(had_name ==
"NuBeam") {p =
new NuBeam(verbose);}
181 G4cout <<
"### G4PhysListFactory WARNING: "
182 <<
"PhysicsList " << had_name <<
" is not known"
186 G4cout <<
"<<< Reference Physics List " << had_name
187 << em_name <<
" is built" <<
G4endl;
190 if(0 < em_opt && had_name !=
"LBE") {
193 }
else if(2 == em_opt) {
195 }
else if(3 == em_opt) {
197 }
else if(4 == em_opt) {
199 }
else if(5 == em_opt) {
201 }
else if(6 == em_opt) {
203 }
else if(7 == em_opt) {
205 }
else if(8 == em_opt) {
207 }
else if(9 == em_opt) {
209 }
else if(10 == em_opt) {
211 }
else if(11 == em_opt) {
225 size_t n = name.size();
227 G4String em_name = name.substr(n - 4, 4);
228 for(
size_t i=1; i<nlists_em; ++i) {
229 if(listnames_em[i] == em_name) {
235 G4String had_name = name.substr(0, n);
236 for(
size_t i=0; i<nlists_hadr; ++i) {
237 if(had_name == listnames_hadr[i]) {
245const std::vector<G4String>&
248 return listnames_hadr;
251const std::vector<G4String>&
TINCLXXPhysicsListHelper< G4VModularPhysicsList, false, true > FTFP_INCLXX
TINCLXXPhysicsListHelper< G4VModularPhysicsList, true, true > FTFP_INCLXX_HP
G4GLOB_DLL std::ostream G4cout
TINCLXXPhysicsListHelper< G4VModularPhysicsList, true, false > QGSP_INCLXX_HP
TINCLXXPhysicsListHelper< G4VModularPhysicsList, false, false > QGSP_INCLXX
const std::vector< G4String > & AvailablePhysListsEM() const
G4bool IsReferencePhysList(const G4String &)
G4VModularPhysicsList * ReferencePhysList()
G4VModularPhysicsList * GetReferencePhysList(const G4String &)
const std::vector< G4String > & AvailablePhysLists() const
void SetVerboseLevel(G4int value)
G4int GetVerboseLevel() const
void ReplacePhysics(G4VPhysicsConstructor *)