57 G4ThreadLocal std::vector<G4VHadronModelBuilder*>* G4VHadronPhysics::builders = 0;
64 G4cout <<
"### G4VHadronPhysics: <" << aName <<
"> is created "
71 G4int n = builders->size();
73 for(
G4int i=0; i<
n; i++) {
delete (*builders)[i];}
98 if ( builders == 0 ) builders =
new std::vector<G4VHadronModelBuilder*>;
99 builders->push_back(mBuilder);
104 G4cout <<
"### G4VHadronPhysics <"
106 << emin/
GeV <<
" Emax(GeV)= " << emax/
GeV
118 if(!model)
return model;
122 G4cout <<
"### G4VHadronPhysics <"
124 << emin/
GeV <<
" Emax(GeV)= " << emax/
GeV
137 G4cout <<
"### G4VHadronPhysics WARNING: fails to find particle "
153 G4cout <<
"### G4VHadronPhysics: the inelastic cross section "
166 G4cout <<
"### G4VHadronPhysics WARNING: fails to find particle "
182 G4cout <<
"### G4VHadronPhysics: the inelastic cross section "
195 G4cout <<
"### G4VHadronPhysics: the capture cross section "
196 <<
" is added for neutron"
208 G4cout <<
"### G4VHadronPhysics: the fission cross section "
209 <<
" is added for neutron"
221 G4cout <<
"### G4VHadronPhysics WARNING: fails to find particle "
235 size_t n = pv->
size();
237 for(
size_t i=0; i<
n; ++i) {
257 G4cout <<
"### G4VHadronPhysics WARNING: fails to find particle "
271 size_t n = pv->
size();
273 for(
size_t i=0; i<
n; ++i) {
291 size_t n = pv->
size();
293 for(
size_t i=0; i<
n; ++i) {
294 if(
fCapture == ((*pv)[i])->GetProcessSubType()) {
311 size_t n = pv->
size();
313 for(
size_t i=0; i<
n; ++i) {
314 if(
fFission == ((*pv)[i])->GetProcessSubType()) {
G4HadronicProcess * FindCaptureProcess()
void AddCaptureCrossSection(G4VCrossSectionDataSet *)
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
G4HadronicProcess * FindFissionProcess()
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
static void ConstructParticle()
const G4String & GetModelName() const
static void ConstructParticle()
static void ConstructParticle()
G4ProcessManager * GetProcessManager() const
const G4String & GetParticleName() const
G4VHadronPhysics(const G4String &name="hInelastic", G4int verbose=0)
G4HadronicInteraction * GetModel()
static void ConstructParticle()
void SetMinEnergy(G4double anEnergy)
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
G4GLOB_DLL std::ostream G4cout
const XML_Char XML_Content * model
G4HadronicProcess * FindInelasticProcess(const G4String &)
void AddInelasticCrossSection(const G4String &, G4VCrossSectionDataSet *)
static G4Neutron * Neutron()
virtual ~G4VHadronPhysics()
void SetVerboseLevel(G4int value)
void AddElasticCrossSection(const G4String &, G4VCrossSectionDataSet *)
G4HadronicInteraction * NewModel(G4HadronicInteraction *, G4double emin, G4double emax)
static G4ParticleTable * GetParticleTable()
void AddFissionCrossSection(G4VCrossSectionDataSet *)
void SetMaxEnergy(const G4double anEnergy)
virtual void ConstructParticle()
G4HadronicInteraction * BuildModel(G4VHadronModelBuilder *, G4double emin, G4double emax)
G4ProcessVector * GetProcessList() const
G4HadronicProcess * FindElasticProcess(const G4String &)