75{
76 G4String LEN_model = n_model;
77 size_t find = LEN_model.find("LEND__");
78 G4String evaluation;
79 if ( find != G4String::npos )
80 {
81 evaluation=LEN_model;
82 evaluation.erase(0,find+6);
83 LEN_model="LEND";
84 }
85
86 if(verbose > 0) {
87 G4cout <<
"<<< Geant4 Physics List simulation engine: Shielding"
88 << HadrPhysVariant <<
G4endl;
89 if ( LEN_model=="LEND" ) {
90 G4cout <<
"<<< LEND will be used for low energy neutron and gamma projectiles" <<
G4endl;
91 } else {
92 G4cout <<
"<<< (Note that Shielding" << HadrPhysVariant <<
" and Shielding"
93 << HadrPhysVariant <<
"_HP are equivalent!)" <<
G4endl;
94 }
95 }
99
100
102
103
104 G4EmExtraPhysics* emExtraPhysics = new G4EmExtraPhysics(verbose);
105
106
107 if ( LEN_model == "LEND" )
109
111
112
115
116
117 if ( LEN_model == "HP" ) {
119 } else if ( LEN_model == "LEND" ) {
121 } else {
122 if(verbose > 0) {
124 G4cout <<
"\"" << LEN_model
125 <<
"\" is not valid for the low energy neutron model." <<
G4endl;
127 }
129 }
130
131
132 G4VPhysicsConstructor* hpc;
133 G4String HadPhysName = "hInelastic Shielding";
134 if ( LEN_model == "LEND" ) HadPhysName += "LEND";
135
137 if (HadrPhysVariant == "M") {
138
139
140
141 HadPhysEmin = 9.5*CLHEP::GeV;
142 HadPhysEmax = 9.9*CLHEP::GeV;
143 } else {
146 }
147
148
149 hpc = new G4HadronPhysicsShielding(HadPhysName, verbose, HadPhysEmin, HadPhysEmax);
150
151
152 if ( LEN_model == "LEND" )
153 ((G4HadronPhysicsShielding*)hpc)->UseLEND();
154
156
157
158 if ( LEN_model == "HP" )
160
161
162 if ( LEN_model == "LEND" )
164
165
167
168
170 if (useLightIonQMD){
172 } else {
174 }
175}
G4GLOB_DLL std::ostream G4cout
static G4HadronicParameters * Instance()
G4double GetMinEnergyTransitionFTF_Cascade() const
G4double GetMaxEnergyTransitionFTF_Cascade() const
void SetProduceFissionFragments(G4bool val)
static G4ParticleHPManager * GetInstance()
void SetVerboseLevel(G4int value)
void RegisterPhysics(G4VPhysicsConstructor *)
void SetCutValue(G4double aCut, const G4String &pname)