48 #include "G4HadronHElasticPhysics.hh" 89 G4HadronHElasticPhysics::G4HadronHElasticPhysics(
G4int ver,
G4bool diffraction)
91 fDiffraction(diffraction)
94 G4cout <<
"### G4HadronHElasticPhysics: " << GetPhysicsName()
95 <<
" low-mass diffraction: " << fDiffraction <<
G4endl;
99 G4HadronHElasticPhysics::~G4HadronHElasticPhysics() {}
102 void G4HadronHElasticPhysics::ConstructParticle() {
115 void G4HadronHElasticPhysics::ConstructProcess() {
122 G4cout <<
"### HadronHElasticPhysics::ConstructProcess: lower energy limit for DiffuseElastic : " 124 <<
" transition energy for anti-nuclei : " 125 << elimitAntiNuc/
GeV <<
" GeV" <<
G4endl;
134 lhep->SetMaxEnergy( elimitAntiNuc + delta );
144 for (
size_t i_ele = 0; i_ele < theElementTable->size(); i_ele++ ) {
145 G4Element* element = (*theElementTable)[ i_ele ];
162 auto myParticleIterator=GetParticleIterator();
163 myParticleIterator->reset();
164 while( (*myParticleIterator)() ) {
170 if ( pname ==
"anti_lambda" ||
171 pname ==
"anti_sigma-" ||
172 pname ==
"anti_sigma0" ||
173 pname ==
"anti_sigma+" ||
174 pname ==
"anti_xi-" ||
175 pname ==
"anti_xi0" ||
176 pname ==
"anti_omega-" 187 }
else if ( pname ==
"lambda" ||
204 }
else if ( pname ==
"proton" ) {
220 }
else if ( pname ==
"neutron" ) {
232 G4cout <<
"### HadronElasticPhysics: " 237 }
else if ( pname ==
"pi-" ) {
253 }
else if ( pname ==
"pi+" ) {
269 }
else if ( pname ==
"kaon-" ||
275 if ( pname ==
"kaon-" ) {
277 }
else if ( pname ==
"kaon+" ) {
291 pname ==
"deuteron" ||
297 hel->
AddDataSet( theComponentGGNuclNuclData );
309 }
else if ( pname ==
"anti_proton" || pname ==
"anti_neutron" ) {
320 }
else if ( pname ==
"anti_deuteron" ||
321 pname ==
"anti_triton" ||
322 pname ==
"anti_He3" ||
323 pname ==
"anti_alpha" 335 }
else if ( pname ==
"GenericIon" ) {
static const char * Default_Name()
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
G4ProcessManager * GetProcessManager() const
static void ConstructParticle()
void SetDiffraction(G4HadronicInteraction *, G4VCrossSectionRatio *)
static void ConstructParticle()
G4ComponentAntiNuclNuclearXS * GetComponentCrossSection()
static void ConstructParticle()
void RegisterMe(G4HadronicInteraction *a)
static const char * Default_Name()
void SetMinEnergy(G4double anEnergy)
const G4String & GetProcessName() const
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
const G4String & GetParticleName() const
G4GLOB_DLL std::ostream G4cout
static G4CrossSectionDataSetRegistry * Instance()
G4_DECLARE_PHYSCONSTR_FACTORY(G4HadronHElasticPhysics)
static const char * Default_Name()
static const char * Default_Name()
void SetMaxEnergy(const G4double anEnergy)
static const char * Default_Name()
static const char * Default_Name()
std::vector< G4Element * > G4ElementTable
static G4ElementTable * GetElementTable()
void DeActivateFor(const G4Material *aMaterial)