71 G4HadronPhysicsQGSP_BIC::tpdata = 0;
117 void G4HadronPhysicsQGSP_BIC::CreateModels()
119 G4bool quasiElasticFTF=
false;
120 G4bool quasiElasticQGS=
true;
128 tpdata->theNeutrons->RegisterMe(tpdata->theQGSPNeutron=
new G4QGSPNeutronBuilder(quasiElasticQGS));
129 tpdata->theNeutrons->RegisterMe(tpdata->theFTFPNeutron=
new G4FTFPNeutronBuilder(quasiElasticFTF));
130 tpdata->theFTFPNeutron->SetMinEnergy(minFTFP);
131 tpdata->theFTFPNeutron->SetMaxEnergy(maxFTFP);
134 tpdata->theBinaryNeutron->SetMaxEnergy(maxBIC);
139 tpdata->theFTFPPro->SetMinEnergy(minFTFP);
140 tpdata->theFTFPPro->SetMaxEnergy(maxFTFP);
143 tpdata->theBinaryPro->SetMaxEnergy(maxBIC);
146 tpdata->thePiK->RegisterMe(tpdata->theQGSPPiK=
new G4QGSPPiKBuilder(quasiElasticQGS));
147 tpdata->thePiK->RegisterMe(tpdata->theFTFPPiK=
new G4FTFPPiKBuilder(quasiElasticFTF));
148 tpdata->theFTFPPiK->SetMaxEnergy(maxFTFP);
150 tpdata->theBertiniPiK->SetMaxEnergy(maxBERT);
160 delete tpdata->theBinaryNeutron;
161 delete tpdata->theQGSPNeutron;
162 delete tpdata->theFTFPNeutron;
163 delete tpdata->theBertiniPiK;
164 delete tpdata->theQGSPPiK;
165 delete tpdata->theFTFPPiK;
166 delete tpdata->thePiK;
167 delete tpdata->theBinaryPro;
168 delete tpdata->theQGSPPro;
169 delete tpdata->theFTFPPro;
170 delete tpdata->thePro;
171 delete tpdata->theFTFPAntiBaryon;
172 delete tpdata->theAntiBaryon;
173 delete tpdata->theHyperon;
174 delete tpdata->xsNeutronInelasticXS;
175 delete tpdata->xsNeutronCaptureXS;
177 delete tpdata; tpdata =0 ;
198 if ( tpdata == 0 ) tpdata =
new ThreadPrivate;
200 tpdata->theNeutrons->Build();
201 tpdata->thePro->Build();
202 tpdata->thePiK->Build();
203 tpdata->theHyperon->Build();
204 tpdata->theAntiBaryon->Build();
213 for (
size_t i=0; i < static_cast<size_t>(pv->
size()); ++i ) {
214 if (
fCapture == ((*pv)[i])->GetProcessSubType() ) {
223 capture->
AddDataSet(tpdata->xsNeutronCaptureXS);
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
G4HadronPhysicsQGSP_BIC(G4int verbose=1)
static void ConstructParticle()
static void ConstructParticle()
static void ConstructParticle()
G4ProcessManager * GetProcessManager() const
static void ConstructParticle()
void RegisterMe(G4HadronicInteraction *a)
static G4HadronicProcess * FindInelasticProcess(const G4ParticleDefinition *)
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
static G4Neutron * Neutron()
G4_DECLARE_PHYSCONSTR_FACTORY(G4HadronPhysicsQGSP_BIC)
virtual ~G4HadronPhysicsQGSP_BIC()
virtual void ConstructProcess()
virtual void ConstructParticle()
G4ProcessVector * GetProcessList() const