#include <G4HadronElasticPhysicsLHEP.hh>
Inheritance diagram for G4HadronElasticPhysicsLHEP:
Public Member Functions | |
G4HadronElasticPhysicsLHEP (G4int ver=1) | |
virtual | ~G4HadronElasticPhysicsLHEP () |
virtual void | ConstructParticle () |
virtual void | ConstructProcess () |
Definition at line 47 of file G4HadronElasticPhysicsLHEP.hh.
G4HadronElasticPhysicsLHEP::G4HadronElasticPhysicsLHEP | ( | G4int | ver = 1 |
) |
Definition at line 61 of file G4HadronElasticPhysicsLHEP.cc.
References G4cout, G4endl, and G4VPhysicsConstructor::GetPhysicsName().
00062 : G4VPhysicsConstructor("hElasticLHEP"), verbose(ver), 00063 wasActivated(false) 00064 { 00065 if(verbose > 1) { 00066 G4cout << "### G4HadronElasticPhysicsLHEP: " << GetPhysicsName() 00067 << G4endl; 00068 } 00069 }
G4HadronElasticPhysicsLHEP::~G4HadronElasticPhysicsLHEP | ( | ) | [virtual] |
void G4HadronElasticPhysicsLHEP::ConstructParticle | ( | ) | [virtual] |
Implements G4VPhysicsConstructor.
Definition at line 74 of file G4HadronElasticPhysicsLHEP.cc.
References G4IonConstructor::ConstructParticle(), G4BaryonConstructor::ConstructParticle(), and G4MesonConstructor::ConstructParticle().
00075 { 00076 // G4cout << "G4HadronElasticPhysicsLHEP::ConstructParticle" << G4endl; 00077 G4MesonConstructor pMesonConstructor; 00078 pMesonConstructor.ConstructParticle(); 00079 00080 G4BaryonConstructor pBaryonConstructor; 00081 pBaryonConstructor.ConstructParticle(); 00082 00083 // Construct light ions 00084 G4IonConstructor pConstructor; 00085 pConstructor.ConstructParticle(); 00086 }
void G4HadronElasticPhysicsLHEP::ConstructProcess | ( | ) | [virtual] |
Implements G4VPhysicsConstructor.
Definition at line 88 of file G4HadronElasticPhysicsLHEP.cc.
References G4ProcessManager::AddDiscreteProcess(), G4cout, G4endl, G4ParticleDefinition::GetParticleName(), G4ParticleDefinition::GetProcessManager(), G4HadronicProcess::RegisterMe(), G4ParticleTableIterator< K, V >::reset(), G4VPhysicsConstructor::theParticleIterator, and G4ParticleTableIterator< K, V >::value().
00089 { 00090 if(wasActivated) return; 00091 wasActivated = true; 00092 00093 if(verbose > 1) { 00094 G4cout << "### HadronElasticPhysicsLHEP Construct Processes" 00095 << G4endl; 00096 } 00097 G4HadronicProcess* hel = 0; 00098 G4HadronicInteraction* model = new G4LElastic(); 00099 00100 theParticleIterator->reset(); 00101 while( (*theParticleIterator)() ) 00102 { 00103 G4ParticleDefinition* particle = theParticleIterator->value(); 00104 G4ProcessManager* pmanager = particle->GetProcessManager(); 00105 G4String pname = particle->GetParticleName(); 00106 if(pname == "anti_lambda" || 00107 pname == "anti_neutron" || 00108 pname == "anti_omega-" || 00109 pname == "anti_proton" || 00110 pname == "anti_sigma-" || 00111 pname == "anti_sigma+" || 00112 pname == "anti_xi-" || 00113 pname == "anti_xi0" || 00114 pname == "kaon-" || 00115 pname == "kaon+" || 00116 pname == "kaon0S" || 00117 pname == "kaon0L" || 00118 pname == "lambda" || 00119 pname == "omega-" || 00120 pname == "sigma-" || 00121 pname == "sigma+" || 00122 pname == "xi-" || 00123 pname == "neutron" || 00124 pname == "proton" || 00125 pname == "pi+" || 00126 pname == "pi-" || 00127 pname == "alpha" || 00128 pname == "deuteron" || 00129 pname == "triton") { 00130 00131 hel = new G4HadronElasticProcess(); 00132 hel->RegisterMe(model); 00133 pmanager->AddDiscreteProcess(hel); 00134 if(verbose > 1) { 00135 G4cout << "### HadronElasticPhysicsLHEP added for " 00136 << particle->GetParticleName() << G4endl; 00137 } 00138 } 00139 } 00140 }