71 G4HadronPhysicsQGS_BIC::tpdata = 0;
129 void G4HadronPhysicsQGS_BIC::CreateModels()
131 G4bool quasiElasticFTF=
false;
132 G4bool quasiElasticQGS=
true;
145 tpdata->theFTFBinaryNeutron->SetMinEnergy(minFTFP);
146 tpdata->theFTFBinaryNeutron->SetMaxEnergy(maxFTFP);
149 tpdata->theBinaryNeutron->SetMaxEnergy(maxBIC);
154 tpdata->theFTFBinaryPro->SetMinEnergy(minFTFP);
155 tpdata->theFTFBinaryPro->SetMaxEnergy(maxFTFP);
158 tpdata->theBinaryPro->SetMaxEnergy(maxBIC);
163 tpdata->theFTFBinaryPion->SetMaxEnergy(maxFTFP);
165 tpdata->theBertiniPion->SetMinEnergy(minPionBERT);
166 tpdata->theBertiniPion->SetMaxEnergy(maxPionBERT);
168 tpdata->theBinaryPion->SetMaxEnergy(maxPionBIC);
173 tpdata->theFTFBinaryKaon->SetMaxEnergy(maxFTFP);
175 tpdata->theBertiniKaon->SetMaxEnergy(maxKaonBERT);
187 delete tpdata->theBinaryNeutron;
188 delete tpdata->theQGSBinaryNeutron;
189 delete tpdata->theFTFBinaryNeutron;
190 delete tpdata->theNeutrons;
191 delete tpdata->theQGSBinaryPion;
192 delete tpdata->theFTFBinaryPion;
193 delete tpdata->theBertiniPion;
194 delete tpdata->theBinaryPion;
195 delete tpdata->thePion;
196 delete tpdata->theQGSBinaryKaon;
197 delete tpdata->theFTFBinaryKaon;
198 delete tpdata->theBertiniKaon;
199 delete tpdata->theKaon;
200 delete tpdata->theBinaryPro;
201 delete tpdata->theQGSBinaryPro;
202 delete tpdata->theFTFBinaryPro;
203 delete tpdata->thePro;
204 delete tpdata->theFTFPAntiBaryon;
205 delete tpdata->theAntiBaryon;
206 delete tpdata->theHyperon;
208 delete tpdata; tpdata = 0;
229 if ( tpdata == 0 ) tpdata =
new ThreadPrivate;
231 tpdata->theNeutrons->Build();
232 tpdata->thePro->Build();
233 tpdata->thePion->Build();
234 tpdata->theKaon->Build();
235 tpdata->theHyperon->Build();
236 tpdata->theAntiBaryon->Build();
253 for (
size_t i=0; i < static_cast<size_t>(pv->
size()); ++i ) {
254 if (
fCapture == ((*pv)[i])->GetProcessSubType() ) {
263 capture->
AddDataSet(tpdata->xsNeutronCaptureXS);
G4VCrossSectionDataSet * GetCrossSectionDataSet(const G4String &name, G4bool warning=true)
virtual void ConstructParticle()
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
static G4KaonZeroLong * KaonZeroLong()
static const char * Default_Name()
static void ConstructParticle()
static void ConstructParticle()
static void ConstructParticle()
static G4KaonMinus * KaonMinus()
static void ConstructParticle()
void RegisterMe(G4HadronicInteraction *a)
static G4HadronicProcess * FindInelasticProcess(const G4ParticleDefinition *)
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
static G4KaonZeroShort * KaonZeroShort()
static G4CrossSectionDataSetRegistry * Instance()
static G4Neutron * Neutron()
G4HadronPhysicsQGS_BIC(G4int verbose=1)
static const char * Default_Name()
G4ProcessManager * GetProcessManager() const
static constexpr double GeV
virtual ~G4HadronPhysicsQGS_BIC()
static G4KaonPlus * KaonPlus()
virtual void ConstructProcess()
G4ProcessVector * GetProcessList() const
#define G4_DECLARE_PHYSCONSTR_FACTORY(physics_constructor)