69 G4HadronPhysicsFTFP_BERT_TRV::tpdata = 0;
107 , QuasiElastic(quasiElastic)
116 void G4HadronPhysicsFTFP_BERT_TRV::CreateModels()
121 G4cout <<
" Revised FTFTP_BERT_TRV - new threshold between BERT and FTFP "
122 <<
" is over the interval " << minFTFP/
GeV <<
" to " << maxBERT/
GeV
124 G4cout <<
" -- quasiElastic was asked to be " << QuasiElastic
125 <<
" and it is reset to " <<
false <<
G4endl;
130 tpdata->theBertiniNeutron->SetMinEnergy(0.0*
GeV);
131 tpdata->theBertiniNeutron->SetMaxEnergy(maxBERT);
133 tpdata->theNeutrons->RegisterMe(tpdata->theFTFPNeutron);
134 tpdata->theFTFPNeutron->SetMinEnergy(minFTFP);
138 tpdata->thePro->RegisterMe(tpdata->theFTFPPro);
140 tpdata->theFTFPPro->SetMinEnergy(minFTFP);
141 tpdata->theBertiniPro->SetMaxEnergy(maxBERT);
145 tpdata->thePiK->RegisterMe(tpdata->theFTFPPiK);
147 tpdata->theFTFPPiK->SetMinEnergy(minFTFP);
148 tpdata->theBertiniPiK->SetMaxEnergy(maxBERT);
158 delete tpdata->theNeutrons;
159 delete tpdata->theBertiniNeutron;
160 delete tpdata->theFTFPNeutron;
162 delete tpdata->thePiK;
163 delete tpdata->theBertiniPiK;
164 delete tpdata->theFTFPPiK;
166 delete tpdata->thePro;
167 delete tpdata->theBertiniPro;
168 delete tpdata->theFTFPPro;
170 delete tpdata->theHyperon;
171 delete tpdata->theAntiBaryon;
172 delete tpdata->theFTFPAntiBaryon;
174 delete tpdata->xsNeutronInelasticXS;
175 delete tpdata->xsNeutronCaptureXS;
177 delete tpdata; tpdata = 0;
195 if ( tpdata == 0 ) tpdata =
new ThreadPrivate;
199 tpdata->theNeutrons->Build();
200 tpdata->thePro->Build();
201 tpdata->thePiK->Build();
203 tpdata->theHyperon->Build();
204 tpdata->theAntiBaryon->Build();
223 for (
size_t i=0; i < static_cast<size_t>(pv->
size()); ++i ) {
224 if (
fCapture == ((*pv)[i])->GetProcessSubType() ) {
233 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()
G4_DECLARE_PHYSCONSTR_FACTORY(G4HadronPhysicsFTFP_BERT_TRV)
static void ConstructParticle()
static const char * Default_Name()
static void ConstructParticle()
static void ConstructParticle()
G4ProcessManager * GetProcessManager() const
G4HadronPhysicsFTFP_BERT_TRV(G4int verbose=1)
static G4KaonMinus * KaonMinus()
void RegisterMe(G4HadronicInteraction *a)
static const char * Default_Name()
static G4HadronicProcess * FindInelasticProcess(const G4ParticleDefinition *)
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
G4GLOB_DLL std::ostream G4cout
static G4KaonZeroShort * KaonZeroShort()
virtual void ConstructParticle()
static G4CrossSectionDataSetRegistry * Instance()
static G4Neutron * Neutron()
static const char * Default_Name()
static G4KaonPlus * KaonPlus()
G4ProcessVector * GetProcessList() const
virtual ~G4HadronPhysicsFTFP_BERT_TRV()