G4HyperonCHIPSBuilder Class Reference

#include <G4HyperonCHIPSBuilder.hh>


Public Member Functions

 G4HyperonCHIPSBuilder (G4int verbose=0)
virtual ~G4HyperonCHIPSBuilder ()
void Build ()

Protected Attributes

G4ParticleTabletheParticleTable
G4ParticleTable::G4PTblDicIteratortheParticleIterator


Detailed Description

Definition at line 48 of file G4HyperonCHIPSBuilder.hh.


Constructor & Destructor Documentation

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]

Definition at line 46 of file G4HyperonCHIPSBuilder.cc.

00047 {
00048   if(wasActivated) delete inelastic;
00049 }


Member Function Documentation

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 }


Field Documentation

G4ParticleTable::G4PTblDicIterator* G4HyperonCHIPSBuilder::theParticleIterator [protected]

Definition at line 60 of file G4HyperonCHIPSBuilder.hh.

Referenced by Build(), and G4HyperonCHIPSBuilder().

G4ParticleTable* G4HyperonCHIPSBuilder::theParticleTable [protected]

Definition at line 59 of file G4HyperonCHIPSBuilder.hh.

Referenced by G4HyperonCHIPSBuilder().


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:52:14 2013 for Geant4 by  doxygen 1.4.7