Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Data Structures | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
G4QGSParticipants Class Reference

#include <G4QGSParticipants.hh>

Inheritance diagram for G4QGSParticipants:
G4VParticipants G4GammaParticipants

Data Structures

struct  DeleteInteractionContent
 
struct  DeletePartonPair
 
struct  DeleteSplitableHadron
 

Public Member Functions

 G4QGSParticipants ()
 
 G4QGSParticipants (const G4QGSParticipants &right)
 
const G4QGSParticipantsoperator= (const G4QGSParticipants &right)
 
virtual ~G4QGSParticipants ()
 
int operator== (const G4QGSParticipants &right) const
 
int operator!= (const G4QGSParticipants &right) const
 
virtual void DoLorentzBoost (G4ThreeVector aBoost)
 
G4PartonPairGetNextPartonPair ()
 
void BuildInteractions (const G4ReactionProduct &thePrimary)
 
void StartPartonPairLoop ()
 
- Public Member Functions inherited from G4VParticipants
 G4VParticipants ()
 
 G4VParticipants (const G4VParticipants &right)
 
virtual ~G4VParticipants ()
 
const G4VParticipantsoperator= (const G4VParticipants &right)
 
int operator== (const G4VParticipants &right) const
 
int operator!= (const G4VParticipants &right) const
 
virtual void Init (G4int theZ, G4int theA)
 
virtual void SetNucleus (G4V3DNucleus *aNucleus)
 
virtual G4V3DNucleusGetWoundedNucleus () const
 
virtual void InitProjectileNucleus (G4int theZ, G4int theA)
 
virtual void SetProjectileNucleus (G4V3DNucleus *aNucleus)
 
virtual G4V3DNucleusGetProjectileNucleus () const
 

Protected Types

enum  { SOFT, DIFFRACTIVE }
 

Protected Member Functions

virtual G4VSplitableHadronSelectInteractions (const G4ReactionProduct &thePrimary)
 
void SplitHadrons ()
 
void PerformSoftCollisions ()
 
void PerformDiffractiveCollisions ()
 
G4bool IsSingleDiffractive ()
 

Protected Attributes

std::vector
< G4InteractionContent * > 
theInteractions
 
std::vector< G4VSplitableHadron * > theTargets
 
std::vector< G4PartonPair * > thePartonPairs
 
G4SingleDiffractiveExcitation theSingleDiffExcitation
 
G4QGSDiffractiveExcitation theDiffExcitaton
 
G4int ModelMode
 
G4ThreeVector theBoost
 
const G4int nCutMax
 
const G4double ThresholdParameter
 
const G4double QGSMThreshold
 
const G4double theNucleonRadius
 

Additional Inherited Members

- Data Fields inherited from G4VParticipants
G4V3DNucleustheNucleus
 
G4V3DNucleustheProjectileNucleus
 

Detailed Description

Definition at line 41 of file G4QGSParticipants.hh.

Member Enumeration Documentation

anonymous enum
protected
Enumerator
SOFT 
DIFFRACTIVE 

Definition at line 85 of file G4QGSParticipants.hh.

Constructor & Destructor Documentation

G4QGSParticipants::G4QGSParticipants ( )

Definition at line 39 of file G4QGSParticipants.cc.

39  : theDiffExcitaton(), //0.7*GeV, 250*MeV, 250*MeV),
40  ModelMode(SOFT),
41  //nCutMax(7),ThresholdParameter(0.45*GeV),
42  nCutMax(7),ThresholdParameter(0.000*GeV),
44 
45 {
46 }
const G4double QGSMThreshold
G4QGSDiffractiveExcitation theDiffExcitaton
const G4double theNucleonRadius
const G4double ThresholdParameter
G4QGSParticipants::G4QGSParticipants ( const G4QGSParticipants right)

Definition at line 48 of file G4QGSParticipants.cc.

G4QGSParticipants::~G4QGSParticipants ( )
virtual

Definition at line 56 of file G4QGSParticipants.cc.

57 {
58 }

Member Function Documentation

void G4QGSParticipants::BuildInteractions ( const G4ReactionProduct thePrimary)

Definition at line 60 of file G4QGSParticipants.cc.

References PerformDiffractiveCollisions(), PerformSoftCollisions(), SelectInteractions(), SplitHadrons(), theInteractions, and theTargets.

61 {
62 
63  // Find the collisions and collition conditions
64  G4VSplitableHadron* aProjectile = SelectInteractions(thePrimary);
65 
66  // now build the parton pairs. HPW
67  SplitHadrons();
68 
69  // soft collisions first HPW, ordering is vital
71 
72  // the rest is diffractive HPW
74 
75  // clean-up, if necessary
76  std::for_each(theInteractions.begin(), theInteractions.end(), DeleteInteractionContent());
77  theInteractions.clear();
78  std::for_each(theTargets.begin(), theTargets.end(), DeleteSplitableHadron());
79  theTargets.clear();
80  delete aProjectile;
81 }
virtual G4VSplitableHadron * SelectInteractions(const G4ReactionProduct &thePrimary)
std::vector< G4VSplitableHadron * > theTargets
std::vector< G4InteractionContent * > theInteractions
virtual void G4QGSParticipants::DoLorentzBoost ( G4ThreeVector  aBoost)
inlinevirtual

Definition at line 52 of file G4QGSParticipants.hh.

References G4V3DNucleus::DoLorentzBoost(), theBoost, and G4VParticipants::theNucleus.

53  {
55  theBoost = aBoost;
56  }
G4V3DNucleus * theNucleus
G4ThreeVector theBoost
virtual void DoLorentzBoost(const G4LorentzVector &theBoost)=0
G4PartonPair * G4QGSParticipants::GetNextPartonPair ( )
inline

Definition at line 105 of file G4QGSParticipants.hh.

References thePartonPairs.

106 {
107  if (thePartonPairs.empty()) return 0;
108  G4PartonPair * result = thePartonPairs.back();
109  thePartonPairs.pop_back();
110  return result;
111 }
std::vector< G4PartonPair * > thePartonPairs
G4bool G4QGSParticipants::IsSingleDiffractive ( )
inlineprotected

Definition at line 94 of file G4QGSParticipants.hh.

References G4UniformRand.

Referenced by SelectInteractions().

95 {
96  G4bool result=false;
97  if(G4UniformRand()<1.) result = true;
98  return result;
99 }
#define G4UniformRand()
Definition: Randomize.hh:87
bool G4bool
Definition: G4Types.hh:79
int G4QGSParticipants::operator!= ( const G4QGSParticipants right) const
const G4QGSParticipants& G4QGSParticipants::operator= ( const G4QGSParticipants right)
int G4QGSParticipants::operator== ( const G4QGSParticipants right) const
void G4QGSParticipants::PerformDiffractiveCollisions ( )
protected

Definition at line 228 of file G4QGSParticipants.cc.

References G4PartonPair::DIFFRACTIVE, G4cout, G4endl, G4Parton::Get4Momentum(), G4VSplitableHadron::GetNextAntiParton(), G4VSplitableHadron::GetNextParton(), G4PartonPair::GetParton1(), G4PartonPair::GetParton2(), G4Parton::GetPDGcode(), G4InteractionContent::GetProjectile(), G4InteractionContent::GetTarget(), G4Parton::GetX(), G4PartonPair::PROJECTILE, G4PartonPair::TARGET, theInteractions, and thePartonPairs.

Referenced by BuildInteractions().

229 {
230  // remove the "G4PartonPair::PROJECTILE", etc., which are not necessary. @@@
231  unsigned int i;
232  for(i = 0; i < theInteractions.size(); i++)
233  {
234  G4InteractionContent* anIniteraction = theInteractions[i];
235  G4VSplitableHadron* aProjectile = anIniteraction->GetProjectile();
236  G4Parton* aParton = aProjectile->GetNextParton();
237  G4PartonPair * aPartonPair;
238  // projectile first HPW
239  if (aParton)
240  {
241  aPartonPair = new G4PartonPair(aParton, aProjectile->GetNextAntiParton(),
244  #ifdef debug_G4QGSPart_PDiffColl
245  G4cout << "DiffPair Pro " << aPartonPair->GetParton1()->GetPDGcode() << " "
246  << aPartonPair->GetParton1()->Get4Momentum() << " "
247  << aPartonPair->GetParton1()->GetX() << " " << G4endl;
248  G4cout << " " << aPartonPair->GetParton2()->GetPDGcode() << " "
249  << aPartonPair->GetParton2()->Get4Momentum() << " "
250  << aPartonPair->GetParton2()->GetX() << " " << G4endl;
251  #endif
252  thePartonPairs.push_back(aPartonPair);
253  }
254  // then target HPW
255  G4VSplitableHadron* aTarget = anIniteraction->GetTarget();
256  aParton = aTarget->GetNextParton();
257  if (aParton)
258  {
259  aPartonPair = new G4PartonPair(aParton, aTarget->GetNextAntiParton(),
262  #ifdef debug_G4QGSPart_PDiffColl
263  G4cout << "DiffPair Tgt " << aPartonPair->GetParton1()->GetPDGcode() << " "
264  << aPartonPair->GetParton1()->Get4Momentum() << " "
265  << aPartonPair->GetParton1()->GetX() << " " << G4endl;
266  G4cout << " " << aPartonPair->GetParton2()->GetPDGcode() << " "
267  << aPartonPair->GetParton2()->Get4Momentum() << " "
268  << aPartonPair->GetParton2()->GetX() << " " << G4endl;
269  #endif
270  thePartonPairs.push_back(aPartonPair);
271  }
272  }
273 }
G4Parton * GetParton2(void)
Definition: G4PartonPair.hh:79
G4int GetPDGcode() const
Definition: G4Parton.hh:124
const G4LorentzVector & Get4Momentum() const
Definition: G4Parton.hh:140
virtual G4Parton * GetNextAntiParton()=0
G4Parton * GetParton1(void)
Definition: G4PartonPair.hh:74
G4GLOB_DLL std::ostream G4cout
virtual G4Parton * GetNextParton()=0
G4double GetX()
Definition: G4Parton.hh:86
std::vector< G4PartonPair * > thePartonPairs
G4VSplitableHadron * GetTarget() const
G4VSplitableHadron * GetProjectile() const
#define G4endl
Definition: G4ios.hh:61
std::vector< G4InteractionContent * > theInteractions
void G4QGSParticipants::PerformSoftCollisions ( )
protected

Definition at line 275 of file G4QGSParticipants.cc.

References G4cout, G4endl, G4Parton::Get4Momentum(), G4VSplitableHadron::GetNextAntiParton(), G4VSplitableHadron::GetNextParton(), G4InteractionContent::GetNumberOfSoftCollisions(), G4PartonPair::GetParton1(), G4PartonPair::GetParton2(), G4Parton::GetPDGcode(), G4InteractionContent::GetProjectile(), G4InteractionContent::GetTarget(), G4Parton::GetX(), G4PartonPair::PROJECTILE, G4PartonPair::SOFT, G4PartonPair::TARGET, theInteractions, and thePartonPairs.

Referenced by BuildInteractions().

276 {
277  std::vector<G4InteractionContent*>::iterator i;
278  G4LorentzVector str4Mom;
279  i = theInteractions.begin();
280  while ( i != theInteractions.end() )
281  {
282  G4InteractionContent* anIniteraction = *i;
283  G4PartonPair * aPair = NULL;
284  if (anIniteraction->GetNumberOfSoftCollisions())
285  {
286  G4VSplitableHadron* pProjectile = anIniteraction->GetProjectile();
287  G4VSplitableHadron* pTarget = anIniteraction->GetTarget();
288  for (G4int j = 0; j < anIniteraction->GetNumberOfSoftCollisions(); j++)
289  {
290  aPair = new G4PartonPair(pTarget->GetNextParton(), pProjectile->GetNextAntiParton(),
292  #ifdef debug_G4QGSPart_PSoftColl
293  G4cout << "SoftPair " << aPair->GetParton1()->GetPDGcode() << " "
294  << aPair->GetParton1()->Get4Momentum() << " "
295  << aPair->GetParton1()->GetX() << " " << G4endl;
296  G4cout << " " << aPair->GetParton2()->GetPDGcode() << " "
297  << aPair->GetParton2()->Get4Momentum() << " "
298  << aPair->GetParton2()->GetX() << " " << G4endl;
299  #endif
300  #ifdef debug_G4QGSParticipants
301  str4Mom += aPair->GetParton1()->Get4Momentum();
302  str4Mom += aPair->GetParton2()->Get4Momentum();
303  #endif
304  thePartonPairs.push_back(aPair);
305  aPair = new G4PartonPair(pProjectile->GetNextParton(), pTarget->GetNextAntiParton(),
307  #ifdef debug_G4QGSPart_PSoftColl
308  G4cout << "SoftPair " << aPair->GetParton1()->GetPDGcode() << " "
309  << aPair->GetParton1()->Get4Momentum() << " "
310  << aPair->GetParton1()->GetX() << " " << G4endl;
311  G4cout << " " << aPair->GetParton2()->GetPDGcode() << " "
312  << aPair->GetParton2()->Get4Momentum() << " "
313  << aPair->GetParton2()->GetX() << " " << G4endl;
314  #endif
315  #ifdef debug_G4QGSParticipants
316  str4Mom += aPair->GetParton1()->Get4Momentum();
317  str4Mom += aPair->GetParton2()->Get4Momentum();
318  #endif
319  thePartonPairs.push_back(aPair);
320  }
321  delete *i;
322  i=theInteractions.erase(i); // i now points to the next interaction
323  } else {
324  i++;
325  }
326  }
327  #ifdef debug_G4QGSPart_PSoftColl
328  G4cout << " string 4 mom " << str4Mom << G4endl;
329  #endif
330 }
G4Parton * GetParton2(void)
Definition: G4PartonPair.hh:79
G4int GetPDGcode() const
Definition: G4Parton.hh:124
const G4LorentzVector & Get4Momentum() const
Definition: G4Parton.hh:140
virtual G4Parton * GetNextAntiParton()=0
int G4int
Definition: G4Types.hh:78
G4Parton * GetParton1(void)
Definition: G4PartonPair.hh:74
G4GLOB_DLL std::ostream G4cout
virtual G4Parton * GetNextParton()=0
G4double GetX()
Definition: G4Parton.hh:86
std::vector< G4PartonPair * > thePartonPairs
G4VSplitableHadron * GetTarget() const
G4VSplitableHadron * GetProjectile() const
#define G4endl
Definition: G4ios.hh:61
std::vector< G4InteractionContent * > theInteractions
G4VSplitableHadron * G4QGSParticipants::SelectInteractions ( const G4ReactionProduct thePrimary)
protectedvirtual

Definition at line 83 of file G4QGSParticipants.cc.

References G4V3DNucleus::ChooseImpactXandY(), DIFFRACTIVE, CLHEP::HepLorentzVector::e(), G4QGSDiffractiveExcitation::ExciteParticipants(), G4SingleDiffractiveExcitation::ExciteParticipants(), G4cout, G4endl, G4QGSParticipants_NPart, G4UniformRand, G4Nucleon::Get4Momentum(), G4Nucleon::GetBindingEnergy(), G4Nucleon::GetDefinition(), G4ReactionProduct::GetDefinition(), G4ReactionProduct::GetKineticEnergy(), G4ReactionProduct::GetMass(), G4ReactionProduct::GetMomentum(), G4V3DNucleus::GetNextNucleon(), G4V3DNucleus::GetOuterRadius(), G4ParticleDefinition::GetPDGMass(), G4Nucleon::GetPosition(), G4ReactionProduct::GetTotalEnergy(), python.hepunit::GeV, G4Nucleon::Hit(), G4VSplitableHadron::IncrementCollisionCount(), IsSingleDiffractive(), ModelMode, nCutMax, QGSMThreshold, CLHEP::HepLorentzVector::setE(), G4Nucleon::SetMomentum(), G4InteractionContent::SetNumberOfDiffractiveCollisions(), G4InteractionContent::SetNumberOfSoftCollisions(), G4InteractionContent::SetTarget(), SOFT, sqr(), G4V3DNucleus::StartLoop(), theDiffExcitaton, theInteractions, theNucleonRadius, G4VParticipants::theNucleus, theSingleDiffExcitation, theTargets, ThresholdParameter, TRUE, CLHEP::Hep3Vector::x(), and CLHEP::Hep3Vector::y().

Referenced by BuildInteractions().

84 {
85  G4VSplitableHadron* aProjectile = new G4QGSMSplitableHadron(thePrimary, TRUE); // @@@ check the TRUE
86  G4PomeronCrossSection theProbability(thePrimary.GetDefinition()); // @@@ should be data member
87  G4double outerRadius = theNucleus->GetOuterRadius();
88  // Check reaction threshold
89 
91  G4Nucleon * pNucleon = theNucleus->GetNextNucleon();
92  G4LorentzVector aPrimaryMomentum(thePrimary.GetMomentum(), thePrimary.GetTotalEnergy());
93  //--DEBUG--G4cout << " qgspart- " << aPrimaryMomentum << " # " << aPrimaryMomentum.mag()
94  //--DEBUG-- << pNucleon->Get4Momentum() << " # " << (pNucleon->Get4Momentum()).mag()<< G4endl;
95  G4double s_nucleus = (aPrimaryMomentum + pNucleon->Get4Momentum()).mag2();
96  G4double ThresholdMass = thePrimary.GetMass() + pNucleon->GetDefinition()->GetPDGMass();
97  ModelMode = SOFT;
98  if (sqr(ThresholdMass + ThresholdParameter) > s_nucleus)
99  {
101  //throw G4HadronicException(__FILE__, __LINE__, "Initial energy is too low. The 4-vectors of the input are inconsistant with the particle masses.");
102  }
103  if (sqr(ThresholdMass + QGSMThreshold) > s_nucleus) // thus only diffractive in cascade!
104  {
106  }
107 
108  // first find the collisions HPW
109  std::for_each(theInteractions.begin(), theInteractions.end(), DeleteInteractionContent());
110  theInteractions.clear();
111  G4int totalCuts = 0;
112 
113  #ifdef debug_QGS
114  G4double eK = thePrimary.GetKineticEnergy()/GeV;
115  #endif
116  #ifdef debug_G4QGSParticipants
117  G4double impactUsed = 0;
118  G4LorentzVector intNuclMom;
119  #endif
120 
121  while(theInteractions.size() == 0)
122  {
123  // choose random impact parameter HPW
124  std::pair<G4double, G4double> theImpactParameter;
125  theImpactParameter = theNucleus->ChooseImpactXandY(outerRadius+theNucleonRadius);
126  G4double impactX = theImpactParameter.first;
127  G4double impactY = theImpactParameter.second;
128 
129  // loop over nucleons to find collisions
131  G4int nucleonCount = 0; // debug
133  #ifdef debug_G4QGSParticipants
134  intNuclMom=aPrimaryMomentum;
135  #endif
136  while( (pNucleon = theNucleus->GetNextNucleon()) )
137  {
138  if(totalCuts>1.5*thePrimary.GetKineticEnergy()/GeV)
139  {
140  break;
141  }
142  nucleonCount++; // debug
143  // Needs to be moved to Probability class @@@
144  G4LorentzVector nucleonMomentum=pNucleon->Get4Momentum();
145  nucleonMomentum.setE(nucleonMomentum.e()-pNucleon->GetBindingEnergy());
146  G4double s_nucleon = (aPrimaryMomentum + nucleonMomentum).mag2();
147  G4double Distance2 = sqr(impactX - pNucleon->GetPosition().x()) +
148  sqr(impactY - pNucleon->GetPosition().y());
149  G4double Probability = theProbability.GetInelasticProbability(s_nucleon, Distance2);
150  // test for inelastic collision
151  G4double rndNumber = G4UniformRand();
152  // ModelMode = DIFFRACTIVE;
153  if (Probability > rndNumber)
154  {
155  #ifdef debug_G4QGSParticipants
156  G4cout << "DEBUG p="<< Probability<<" r="<<rndNumber<<" d="<<std::sqrt(Distance2)<<G4endl;
157  G4cout << " qgspart+ " << aPrimaryMomentum << " # " << aPrimaryMomentum.mag()
158  << pNucleon->Get4Momentum() << " # " << (pNucleon->Get4Momentum()).mag()<< G4endl;
159  intNuclMom += nucleonMomentum;
160  #endif
161  pNucleon->SetMomentum(nucleonMomentum);
162  G4QGSMSplitableHadron* aTarget = new G4QGSMSplitableHadron(*pNucleon);
164  theTargets.push_back(aTarget);
165  pNucleon->Hit(aTarget);
166  if ((theProbability.GetDiffractiveProbability(s_nucleon, Distance2)/Probability > G4UniformRand()
167  &&(ModelMode==SOFT)) || (ModelMode==DIFFRACTIVE ))
168  {
169  // diffractive interaction occurs
170  if(IsSingleDiffractive())
171  {
172  theSingleDiffExcitation.ExciteParticipants(aProjectile, aTarget);
173  }
174  else
175  {
176  theDiffExcitaton.ExciteParticipants(aProjectile, aTarget);
177  }
178  G4InteractionContent * aInteraction = new G4InteractionContent(aProjectile);
179  aInteraction->SetTarget(aTarget);
180  theInteractions.push_back(aInteraction);
181  aInteraction->SetNumberOfDiffractiveCollisions(1);
182  totalCuts += 1;
183  }
184  else
185  {
186  // nondiffractive soft interaction occurs
187  // sample nCut+1 (cut Pomerons) pairs of strings can be produced
188  G4int nCut;
189  G4double * running = new G4double[nCutMax];
190  running[0] = 0;
191  for(nCut = 0; nCut < nCutMax; nCut++)
192  {
193  running[nCut] = theProbability.GetCutPomeronProbability(s_nucleon, Distance2, nCut + 1);
194  if(nCut!=0) running[nCut] += running[nCut-1];
195  }
196  G4double random = running[nCutMax-1]*G4UniformRand();
197  for(nCut = 0; nCut < nCutMax; nCut++)
198  {
199  if(running[nCut] > random) break;
200  }
201  delete [] running;
202  nCut = 0;
203  aTarget->IncrementCollisionCount(nCut+1);
204  aProjectile->IncrementCollisionCount(nCut+1);
205  G4InteractionContent * aInteraction = new G4InteractionContent(aProjectile);
206  aInteraction->SetTarget(aTarget);
207  aInteraction->SetNumberOfSoftCollisions(nCut+1);
208  theInteractions.push_back(aInteraction);
209  totalCuts += nCut+1;
210  #ifdef debug_G4QGSParticipants
211  impactUsed=Distance2;
212  #endif
213  }
214  }
215  }
216  #ifdef debug_G4QGSParticipants
217  G4cout << G4endl<<"NUCLEONCOUNT "<<nucleonCount<<G4endl;
218  G4cout << " Interact 4-Vect " << intNuclMom << G4endl;
219  #endif
220  }
221  #ifdef debug_G4QGSParticipants
222  G4cout << G4endl<<"CUTDEBUG "<< totalCuts <<G4endl;
223  G4cout << "Impact Parameter used = "<<impactUsed<<G4endl;
224  #endif
225  return aProjectile;
226 }
G4bool ExciteParticipants(G4VSplitableHadron *aPartner, G4VSplitableHadron *bPartner) const
void SetMomentum(G4LorentzVector &aMomentum)
Definition: G4Nucleon.hh:70
double x() const
virtual G4bool StartLoop()=0
const G4double QGSMThreshold
virtual const G4LorentzVector & Get4Momentum() const
Definition: G4Nucleon.hh:72
virtual const G4ThreeVector & GetPosition() const
Definition: G4Nucleon.hh:68
int G4int
Definition: G4Types.hh:78
G4ParticleDefinition * GetDefinition() const
virtual G4double GetOuterRadius()=0
#define G4UniformRand()
Definition: Randomize.hh:87
G4GLOB_DLL std::ostream G4cout
#define TRUE
Definition: globals.hh:55
void IncrementCollisionCount(G4int aCount)
G4QGSDiffractiveExcitation theDiffExcitaton
virtual G4bool ExciteParticipants(G4VSplitableHadron *aPartner, G4VSplitableHadron *bPartner) const
G4V3DNucleus * theNucleus
G4double GetKineticEnergy() const
std::pair< G4double, G4double > ChooseImpactXandY(G4double maxImpact)
Definition: G4V3DNucleus.hh:87
G4double GetTotalEnergy() const
void SetNumberOfDiffractiveCollisions(int)
G4double GetPDGMass() const
std::vector< G4VSplitableHadron * > theTargets
double y() const
G4ThreeVector GetMomentum() const
#define G4endl
Definition: G4ios.hh:61
virtual G4ParticleDefinition * GetDefinition() const
Definition: G4Nucleon.hh:85
virtual G4Nucleon * GetNextNucleon()=0
void Hit(G4VSplitableHadron *aHit)
Definition: G4Nucleon.hh:90
T sqr(const T &x)
Definition: templates.hh:145
double G4double
Definition: G4Types.hh:76
G4SingleDiffractiveExcitation theSingleDiffExcitation
G4double GetBindingEnergy() const
Definition: G4Nucleon.hh:75
std::vector< G4InteractionContent * > theInteractions
const G4double theNucleonRadius
G4double GetMass() const
const G4double ThresholdParameter
G4ThreadLocal G4int G4QGSParticipants_NPart
void SetTarget(G4VSplitableHadron *aTarget)
void G4QGSParticipants::SplitHadrons ( )
inlineprotected

Definition at line 114 of file G4QGSParticipants.hh.

References theInteractions.

Referenced by BuildInteractions().

115 {
116  unsigned int i;
117  for(i = 0; i < theInteractions.size(); i++)
118  {
119  theInteractions[i]->SplitHadrons();
120  }
121 }
std::vector< G4InteractionContent * > theInteractions
void G4QGSParticipants::StartPartonPairLoop ( )
inline

Definition at line 101 of file G4QGSParticipants.hh.

102 {
103 }

Field Documentation

G4int G4QGSParticipants::ModelMode
protected

Definition at line 78 of file G4QGSParticipants.hh.

Referenced by SelectInteractions().

const G4int G4QGSParticipants::nCutMax
protected

Definition at line 86 of file G4QGSParticipants.hh.

Referenced by SelectInteractions().

const G4double G4QGSParticipants::QGSMThreshold
protected

Definition at line 88 of file G4QGSParticipants.hh.

Referenced by SelectInteractions().

G4ThreeVector G4QGSParticipants::theBoost
protected

Definition at line 81 of file G4QGSParticipants.hh.

Referenced by DoLorentzBoost().

G4QGSDiffractiveExcitation G4QGSParticipants::theDiffExcitaton
protected

Definition at line 77 of file G4QGSParticipants.hh.

Referenced by SelectInteractions().

std::vector<G4InteractionContent*> G4QGSParticipants::theInteractions
protected
const G4double G4QGSParticipants::theNucleonRadius
protected

Definition at line 89 of file G4QGSParticipants.hh.

Referenced by SelectInteractions().

std::vector<G4PartonPair*> G4QGSParticipants::thePartonPairs
protected
G4SingleDiffractiveExcitation G4QGSParticipants::theSingleDiffExcitation
protected

Definition at line 76 of file G4QGSParticipants.hh.

Referenced by SelectInteractions().

std::vector<G4VSplitableHadron*> G4QGSParticipants::theTargets
protected

Definition at line 72 of file G4QGSParticipants.hh.

Referenced by BuildInteractions(), and SelectInteractions().

const G4double G4QGSParticipants::ThresholdParameter
protected

Definition at line 87 of file G4QGSParticipants.hh.

Referenced by SelectInteractions().


The documentation for this class was generated from the following files: