G4QInelasticCHIPSBuilder Class Reference

#include <G4QInelasticCHIPSBuilder.hh>


Public Member Functions

 G4QInelasticCHIPSBuilder (G4int verbose)
virtual ~G4QInelasticCHIPSBuilder ()
void Build ()

Protected Attributes

G4ParticleTabletheParticleTable
G4ParticleTable::G4PTblDicIteratortheParticleIterator


Detailed Description

Definition at line 63 of file G4QInelasticCHIPSBuilder.hh.


Constructor & Destructor Documentation

G4QInelasticCHIPSBuilder::G4QInelasticCHIPSBuilder ( G4int  verbose  ) 

Definition at line 51 of file G4QInelasticCHIPSBuilder.cc.

References G4ParticleTable::GetIterator(), G4ParticleTable::GetParticleTable(), theParticleIterator, and theParticleTable.

00051                                                            :
00052  verbose(ver), wasActivated(false), inelastic(0), nGamma(0)
00053 {
00054   // pointer to the particle table
00055   theParticleTable = G4ParticleTable::GetParticleTable();
00056   theParticleIterator = theParticleTable->GetIterator();
00057 }

G4QInelasticCHIPSBuilder::~G4QInelasticCHIPSBuilder (  )  [virtual]

Definition at line 59 of file G4QInelasticCHIPSBuilder.cc.

00060 {
00061   if(wasActivated) delete inelastic;
00062 }


Member Function Documentation

void G4QInelasticCHIPSBuilder::Build (  ) 

Definition at line 64 of file G4QInelasticCHIPSBuilder.cc.

References G4ProcessManager::AddDiscreteProcess(), G4cout, G4endl, G4ParticleDefinition::GetParticleName(), G4ParticleDefinition::GetProcessManager(), G4VProcess::GetProcessName(), G4ParticleTableIterator< K, V >::reset(), theParticleIterator, and G4ParticleTableIterator< K, V >::value().

Referenced by HadronPhysicsCHIPS::ConstructProcess().

00065 {
00066   if(wasActivated) return;
00067   wasActivated = true;
00068   theParticleIterator->reset();
00069   inelastic = new G4QInelastic();
00070   while( (*theParticleIterator)() )
00071   {
00072     G4ParticleDefinition* particle = theParticleIterator->value();
00073     G4String pname = particle->GetParticleName();
00074     if(pname == "kaon-" || pname == "kaon+" || pname == "kaon0S"  ||  pname == "kaon0L" ||
00075        pname == "pi-"   || pname == "pi+"   || pname == "neutron" ||  pname == "proton" ||
00076        pname == "lambda"       || pname == "sigma+"       || pname == "sigma0"       ||
00077        pname == "sigma-"       || pname == "xi0" || pname == "xi-" || pname == "omega-" ||
00078        pname == "anti_proton"  || pname == "anti_neutron" || pname == "anti_lambda"  ||
00079        pname == "anti_sigma+"  || pname == "anti_sigma0"  || pname == "anti_sigma-"  ||
00080        pname == "anti_xi0"     || pname == "anti_xi-"     || pname == "anti_omega-"  )
00081     {
00082       if(verbose>1)G4cout<< "__G4QInelCHIPSBuilder: "<< pname <<" is defined here"<<G4endl;
00083       G4ProcessManager* pmanager = particle->GetProcessManager();
00084       pmanager->AddDiscreteProcess(inelastic);
00085       if(verbose>1) G4cout<<"###> G4QInelasticCHIPSBuilder: "<<inelastic->GetProcessName()
00086                           <<" is added for "<<pname<<G4endl;
00087     }
00088   }
00089 }


Field Documentation

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

Definition at line 75 of file G4QInelasticCHIPSBuilder.hh.

Referenced by Build(), and G4QInelasticCHIPSBuilder().

G4ParticleTable* G4QInelasticCHIPSBuilder::theParticleTable [protected]

Definition at line 74 of file G4QInelasticCHIPSBuilder.hh.

Referenced by G4QInelasticCHIPSBuilder().


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