CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
CMSGlauberGribovXS Class Reference

#include <CMSGlauberGribovXS.h>

Inheritance diagram for CMSGlauberGribovXS:

Public Member Functions

 CMSGlauberGribovXS (G4int ver)
 
virtual void ConstructParticle ()
 
virtual void ConstructProcess ()
 
virtual ~CMSGlauberGribovXS ()
 

Private Attributes

G4int verbose
 

Detailed Description

Definition at line 7 of file CMSGlauberGribovXS.h.

Constructor & Destructor Documentation

CMSGlauberGribovXS::CMSGlauberGribovXS ( G4int  ver)

Definition at line 39 of file CMSGlauberGribovXS.cc.

39  :
40  G4VPhysicsConstructor("GlauberGribov XS"), verbose(ver)
41 {}
CMSGlauberGribovXS::~CMSGlauberGribovXS ( )
virtual

Definition at line 43 of file CMSGlauberGribovXS.cc.

43 {}

Member Function Documentation

void CMSGlauberGribovXS::ConstructParticle ( )
virtual

Definition at line 45 of file CMSGlauberGribovXS.cc.

45 {}
void CMSGlauberGribovXS::ConstructProcess ( )
virtual

Definition at line 47 of file CMSGlauberGribovXS.cc.

References i, and n.

48 {
49 
50  G4GlauberGribovCrossSection* gg = new G4GlauberGribovCrossSection();
51  gg->SetEnergyLowerLimit(90.*GeV);
52 
53  theParticleIterator->reset();
54  while( (*theParticleIterator)() ){
55  G4ParticleDefinition* particle = theParticleIterator->value();
56  G4String particleName = particle->GetParticleName();
57  if(verbose > 1) {
58  G4cout << "### " << GetPhysicsName() << " instantiates for "
59  << particleName << G4endl;
60  }
61 
62  if (particleName == "neutron" ||
63  particleName == "pi+" ||
64  particleName == "pi-" ||
65  particleName == "proton") {
66 
67  G4ProcessVector* pv = particle->GetProcessManager()->GetProcessList();
68  G4int n = pv->size();
69  G4HadronicProcess* had = 0;
70  for(G4int i=0; i<n; i++) {
71  if(fHadronInelastic == ((*pv)[i])->GetProcessSubType()) {
72  had = static_cast<G4HadronicProcess*>((*pv)[i]);
73  break;
74  }
75  }
76 
77  if(verbose > 0) {
78  G4cout << "### CMSGlauberGribovXS::ConstructProcess for " << particleName;
79  }
80  if(had) {
81  if(verbose > 0) {G4cout << " and " << had->GetProcessName();}
82  if (particleName == "neutron") {
83  had->AddDataSet(new G4BGGNucleonInelasticXS(particle));
84  } else if(particleName == "proton") {
85  had->AddDataSet(new G4BGGNucleonInelasticXS(particle));
86  } else if(particleName == "pi+") {
87  had->AddDataSet(new G4BGGPionInelasticXS(particle));
88  } else if(particleName == "pi-") {
89  had->AddDataSet(new G4BGGPionInelasticXS(particle));
90  }
91  // had->AddDataSet(gg);
92  }
93  if(verbose > 0) {G4cout << G4endl;}
94  }
95  }
96 }
int i
Definition: DBlmapReader.cc:9

Member Data Documentation

G4int CMSGlauberGribovXS::verbose
private

Definition at line 18 of file CMSGlauberGribovXS.h.