77 G4HadronPhysicsShielding::tpdata = 0;
134 void G4HadronPhysicsShielding::CreateModels()
136 G4bool quasiElasticFTF=
false;
140 tpdata->theNeutrons->RegisterMe(tpdata->theFTFPNeutron);
142 tpdata->theBertiniNeutron->SetMinEnergy(19.9*
MeV);
143 tpdata->theBertiniNeutron->SetMaxEnergy(5*
GeV);
146 if ( useLEND !=
true )
155 tpdata->thePro->RegisterMe(tpdata->theFTFPPro);
157 tpdata->theBertiniPro->SetMaxEnergy(5*
GeV);
161 tpdata->thePiK->RegisterMe(tpdata->theFTFPPiK);
163 tpdata->theBertiniPiK->SetMaxEnergy(5*
GeV);
173 delete tpdata->theNeutrons;
174 delete tpdata->theBertiniNeutron;
175 delete tpdata->theFTFPNeutron;
177 delete tpdata->theLENeutron;
179 delete tpdata->thePiK;
180 delete tpdata->theBertiniPiK;
181 delete tpdata->theFTFPPiK;
183 delete tpdata->thePro;
184 delete tpdata->theBertiniPro;
185 delete tpdata->theFTFPPro;
187 delete tpdata->theHyperon;
188 delete tpdata->theAntiBaryon;
189 delete tpdata->theFTFPAntiBaryon;
191 delete tpdata->theBGGxsNeutron;
192 delete tpdata->theNeutronHPJENDLHEInelastic;
193 delete tpdata->theBGGxsProton;
195 delete tpdata->xsNeutronCaptureXS;
197 delete tpdata; tpdata=0;
218 if ( tpdata == 0 ) tpdata =
new ThreadPrivate;
222 tpdata->thePro->Build();
223 tpdata->theNeutrons->Build();
225 tpdata->theBGGxsNeutron = 0;
235 tpdata->theBGGxsProton=0;
239 tpdata->thePiK->Build();
251 tpdata->theHyperon->Build();
252 tpdata->theAntiBaryon->Build();
259 for (
size_t i=0; i < static_cast<size_t>(pv->
size()); ++i ) {
260 if (
fCapture == ((*pv)[i])->GetProcessSubType() ) {
262 }
else if (
fFission == ((*pv)[i])->GetProcessSubType() ) {
271 capture->
AddDataSet(tpdata->xsNeutronCaptureXS);
G4VCrossSectionDataSet * GetCrossSectionDataSet(const G4String &name, G4bool warning=true)
virtual void ConstructProcess()
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
static G4KaonZeroLong * KaonZeroLong()
static void ConstructParticle()
static const char * Default_Name()
static void ConstructParticle()
static void ConstructParticle()
G4ProcessManager * GetProcessManager() const
virtual ~G4HadronPhysicsShielding()
static G4KaonMinus * KaonMinus()
static void ConstructParticle()
void RegisterMe(G4HadronicInteraction *a)
static const char * Default_Name()
void SetMinEnergy(G4double anEnergy)
static G4HadronicProcess * FindInelasticProcess(const G4ParticleDefinition *)
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
static G4KaonZeroShort * KaonZeroShort()
static G4CrossSectionDataSetRegistry * Instance()
static G4Neutron * Neutron()
G4HadronPhysicsShielding(G4int verbose=1)
virtual void ConstructParticle()
static const char * Default_Name()
static G4KaonPlus * KaonPlus()
G4ProcessVector * GetProcessList() const
#define G4_DECLARE_PHYSCONSTR_FACTORY(physics_constructor)