38 typedef std::vector<G4SPPartonInfo *>::const_iterator iter;
42 if (std::abs((*i)->GetDiQuark()) == std::abs(diQuark))
44 running += (*i)->GetProbability();
45 if (running/sum >= random)
47 Quark = (*i)->GetQuark();
59 typedef std::vector<G4SPPartonInfo *>::const_iterator iter;
63 if (std::abs((*i)->GetDiQuark()) == std::abs(diQuark))
65 sum += (*i)->GetProbability();
76 typedef std::vector<G4SPPartonInfo *>::const_iterator iter;
88 if (random<running/
total)
90 result = (*i)->GetQuark();
91 aDiQuark = (*i)->GetDiQuark();
102 typedef std::vector<G4SPPartonInfo *>::const_iterator iter;
110 sum += (*i)->GetProbability();
115 quark = (*i)->GetDiQuark();
116 diQuark = (*i)->GetQuark();
120 quark = (*i)->GetQuark();
121 diQuark = (*i)->GetDiQuark();
132 typedef std::vector<G4SPPartonInfo *>::const_iterator iter;
137 if (std::abs((*i)->GetQuark()) == std::abs(quark))
139 sum += (*i)->GetProbability();
145 if (std::abs((*i)->GetQuark()) == std::abs(quark))
147 running += (*i)->GetProbability();
148 if (running/sum >= random)
150 diQuark = (*i)->GetDiQuark();
G4int GetPDGEncoding() const
static G4ParticleTable * GetParticleTable()
G4int MatchDiQuarkAndGetQuark(const G4SPBaryon &aBaryon, G4int &aDiQuark) const
G4double GetProbability(G4int diQuark) const
void FindDiquark(G4int quark, G4int &diQuark) const
G4int FindQuark(G4int diQuark) const
G4ParticleDefinition * theDefinition
G4SPBaryon(G4Proton *aProton)
std::vector< G4SPPartonInfo * > thePartonInfo
void SampleQuarkAndDiquark(G4int &quark, G4int &diQuark) const
G4double total(Particle const *const p1, Particle const *const p2)