#include <G4HyperonCHIPSBuilder.hh>
Public Member Functions | |
G4HyperonCHIPSBuilder (G4int verbose=0) | |
virtual | ~G4HyperonCHIPSBuilder () |
void | Build () |
Protected Attributes | |
G4ParticleTable * | theParticleTable |
G4ParticleTable::G4PTblDicIterator * | theParticleIterator |
Definition at line 48 of file G4HyperonCHIPSBuilder.hh.
G4HyperonCHIPSBuilder::G4HyperonCHIPSBuilder | ( | G4int | verbose = 0 |
) |
Definition at line 38 of file G4HyperonCHIPSBuilder.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 }
G4HyperonCHIPSBuilder::~G4HyperonCHIPSBuilder | ( | ) | [virtual] |
void G4HyperonCHIPSBuilder::Build | ( | ) |
Definition at line 51 of file G4HyperonCHIPSBuilder.cc.
References G4ProcessManager::AddDiscreteProcess(), G4cout, G4endl, G4ParticleDefinition::GetParticleName(), G4ParticleDefinition::GetProcessManager(), G4VProcess::GetProcessName(), G4ParticleTableIterator< K, V >::reset(), theParticleIterator, and G4ParticleTableIterator< K, V >::value().
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 pname == "anti_proton" || pname == "anti_neutron" ) 00066 { 00067 if(verbose>1)G4cout<<"** G4HyperonCHIPSBuilder: "<<pname<<" already defined"<<G4endl; 00068 } 00069 else if( pname == "lambda" || pname == "sigma+" || pname == "sigma0" || 00070 pname == "sigma-" || pname == "xi0" || pname == "xi-" || 00071 pname == "omega-" || 00072 pname == "anti_lambda" || pname == "anti_sigma+" || pname == "anti_sigma0" || 00073 pname == "anti_sigma-" || pname == "anti_xi0" || pname == "anti_xi-" || 00074 pname == "anti_omega-" ) 00075 { 00076 if(verbose>1)G4cout<< "__G4HyperonCHIPSBuilder: "<< pname <<" is defined here"<<G4endl; 00077 G4ProcessManager* pmanager = particle->GetProcessManager(); 00078 pmanager->AddDiscreteProcess(inelastic); 00079 if(verbose>1) G4cout<<"###> G4HyperonCHIPSBuilder: "<<inelastic->GetProcessName() 00080 <<" is added for "<<pname<<G4endl; 00081 } 00082 } 00083 }
Definition at line 60 of file G4HyperonCHIPSBuilder.hh.
Referenced by Build(), and G4HyperonCHIPSBuilder().
G4ParticleTable* G4HyperonCHIPSBuilder::theParticleTable [protected] |