G4MiscCHIPSBuilder Class Reference

#include <G4MiscCHIPSBuilder.hh>


Public Member Functions

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

Protected Attributes

G4ParticleTabletheParticleTable
G4ParticleTable::G4PTblDicIteratortheParticleIterator


Detailed Description

Definition at line 48 of file G4MiscCHIPSBuilder.hh.


Constructor & Destructor Documentation

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]

Definition at line 46 of file G4MiscCHIPSBuilder.cc.

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


Member Function Documentation

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 }


Field Documentation

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

Definition at line 60 of file G4MiscCHIPSBuilder.hh.

Referenced by Build(), and G4MiscCHIPSBuilder().

G4ParticleTable* G4MiscCHIPSBuilder::theParticleTable [protected]

Definition at line 59 of file G4MiscCHIPSBuilder.hh.

Referenced by G4MiscCHIPSBuilder().


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