46 LeftParton=old.LeftParton;
47 RightParton=old.RightParton;
52 theStableParton=old.theStableParton;
53 theDecayParton=old.theDecayParton;
54 decaying=old.decaying;
61 LeftParton=old.LeftParton;
62 RightParton=old.RightParton;
67 theStableParton=old.theStableParton;
68 theDecayParton=old.theDecayParton;
69 decaying=old.decaying;
85 Pplus =P.
e() + P.
pz();
86 Pminus=P.
e() - P.
pz();
91 else {decaying=Right;}
101 if ( old.decaying == Left )
103 RightParton= old.RightParton;
104 Ptright = old.Ptright;
105 LeftParton = newdecay;
106 Ptleft = old.Ptleft - momentum->
vect();
111 }
else if ( old.decaying == Right )
113 RightParton = newdecay;
114 Ptright = old.Ptright - momentum->
vect();
116 LeftParton = old.LeftParton;
124 "G4FragmentingString::G4FragmentingString: no decay Direction defined");
126 Pplus = old.Pplus - (momentum->
e() + momentum->
pz());
127 Pminus = old.Pminus - (momentum->
e() - momentum->
pz());
143 theStableParton=0; theDecayParton=0;
145 if ( old.decaying == Left )
147 RightParton= old.RightParton;
148 LeftParton = newdecay;
150 }
else if ( old.decaying == Right )
152 RightParton = newdecay;
153 LeftParton = old.LeftParton;
158 "G4FragmentingString::G4FragmentingString: no decay Direction defined");
189 if (decaying == Left )
return +1;
190 else if (decaying == Right)
return -1;
191 else throw G4HadronicException(__FILE__, __LINE__,
"G4FragmentingString::GetDecayDirection: decay side UNdefined!");
219 if (decaying == Left )
return Ptright;
220 else if (decaying == Right )
return Ptleft;
221 else throw G4HadronicException(__FILE__, __LINE__,
"G4FragmentingString::DecayPt: decay side UNdefined!");
227 if (decaying == Left )
return Ptleft;
228 else if (decaying == Right )
return Ptright;
229 else throw G4HadronicException(__FILE__, __LINE__,
"G4FragmentingString::DecayPt: decay side UNdefined!");
247 if (decaying == Left )
return Pplus;
248 else if (decaying == Right )
return Pminus;
249 else throw G4HadronicException(__FILE__, __LINE__,
"G4FragmentingString::DecayPt: decay side UNdefined!");
257 momentum.
setPz(0.5*(Pplus-Pminus));
258 momentum.
setE(0.5*(Pplus+Pminus));
264 return Pplus*Pminus - (Ptleft+Ptright).mag2();
269 return std::sqrt(this->
Mass2());
G4FragmentingString(const G4FragmentingString &right)
G4ParticleDefinition * GetRightParton(void) const
CLHEP::Hep3Vector G4ThreeVector
const G4LorentzVector & Get4Momentum() const
G4Parton * GetLeftParton(void) const
G4ParticleDefinition * GetDefinition()
void SetLeftPartonStable()
const G4String & GetParticleSubType() const
G4double LightConeDecay()
G4ParticleDefinition * GetLeftParton(void) const
G4LorentzVector Get4Momentum() const
G4int GetDecayDirection() const
G4double LightConeMinus()
void SetRightPartonStable()
G4bool FourQuarkString(void) const
G4LorentzVector Get4Momentum() const
G4Parton * GetRightParton(void) const
G4FragmentingString & operator=(const G4FragmentingString &)
G4int GetDirection(void) const