#include <G4MiscCHIPSBuilder.hh>
Public Member Functions | |
G4MiscCHIPSBuilder (G4int verbose=0) | |
virtual | ~G4MiscCHIPSBuilder () |
void | Build () |
Protected Attributes | |
G4ParticleTable * | theParticleTable |
G4ParticleTable::G4PTblDicIterator * | theParticleIterator |
Definition at line 48 of file G4MiscCHIPSBuilder.hh.
G4MiscCHIPSBuilder::G4MiscCHIPSBuilder | ( | G4int | verbose = 0 |
) |
Definition at line 38 of file G4MiscCHIPSBuilder.cc.
References G4ParticleTable::GetIterator(), G4ParticleTable::GetParticleTable(), theParticleIterator, and theParticleTable.
00038 : 00039 verbose(ver), wasActivated(false), inelastic(0) 00040 { 00041 // pointer to the particle table 00042 theParticleTable = G4ParticleTable::GetParticleTable(); 00043 theParticleIterator = theParticleTable->GetIterator(); 00044 }
G4MiscCHIPSBuilder::~G4MiscCHIPSBuilder | ( | ) | [virtual] |
void G4MiscCHIPSBuilder::Build | ( | ) |
Definition at line 51 of file G4MiscCHIPSBuilder.cc.
References G4ProcessManager::AddDiscreteProcess(), G4cout, G4endl, G4ParticleDefinition::GetParticleName(), G4ParticleDefinition::GetProcessManager(), G4VProcess::GetProcessName(), G4ParticleTableIterator< K, V >::reset(), theParticleIterator, and G4ParticleTableIterator< K, V >::value().
Referenced by HadronPhysicsShielding::ConstructProcess(), and HadronPhysicsQGSP_BERT_CHIPS::ConstructProcess().
00052 { 00053 if(wasActivated) return; 00054 00055 wasActivated = true; 00056 theParticleIterator->reset(); 00057 inelastic = new G4QInelastic(); 00058 00059 while( (*theParticleIterator)() ) 00060 { 00061 G4ParticleDefinition* particle = theParticleIterator->value(); 00062 G4String pname = particle->GetParticleName(); 00063 if(pname == "kaon-" || pname == "kaon+" || pname == "kaon0S" || pname == "kaon0L" || 00064 pname == "pi-" || pname == "pi+" || pname == "neutron" || pname == "proton" ) 00065 { 00066 if(verbose>1)G4cout<<"** G4MiscCHIPSBuilder: "<<pname<<" already defined"<<G4endl; 00067 } 00068 else if( pname == "lambda" || pname == "sigma+" || pname == "sigma0" || 00069 pname == "sigma-" || pname == "xi0" || pname == "xi-" || pname == "omega-" || 00070 pname == "anti_proton" || pname == "anti_neutron" || pname == "anti_lambda" || 00071 pname == "anti_sigma+" || pname == "anti_sigma0" || pname == "anti_sigma-" || 00072 pname == "anti_xi0" || pname == "anti_xi-" || pname == "anti_omega-" ) 00073 { 00074 if(verbose>1)G4cout<< "__G4QInelCHIPSBuilder: "<< pname <<" is defined here"<<G4endl; 00075 G4ProcessManager* pmanager = particle->GetProcessManager(); 00076 pmanager->AddDiscreteProcess(inelastic); 00077 if(verbose>1) G4cout<<"###> G4MiscCHIPSBuilder: "<<inelastic->GetProcessName() 00078 <<" is added for "<<pname<<G4endl; 00079 } 00080 } 00081 }
Definition at line 60 of file G4MiscCHIPSBuilder.hh.
Referenced by Build(), and G4MiscCHIPSBuilder().
G4ParticleTable* G4MiscCHIPSBuilder::theParticleTable [protected] |