48 LeftParton=old.LeftParton;
49 RightParton=old.RightParton;
54 theStableParton=old.theStableParton;
55 theDecayParton=old.theDecayParton;
56 decaying=old.decaying;
63 LeftParton=old.LeftParton;
64 RightParton=old.RightParton;
69 theStableParton=old.theStableParton;
70 theDecayParton=old.theDecayParton;
71 decaying=old.decaying;
87 Pplus =P.
e() + P.
pz();
88 Pminus=P.
e() - P.
pz();
101 if ( old.decaying == Left )
103 RightParton= old.RightParton;
104 Ptright = old.Ptright;
105 LeftParton = newdecay;
106 Ptleft = old.Ptleft - momentum->
vect();
110 }
else if ( old.decaying == Right )
112 RightParton = newdecay;
113 Ptright = old.Ptright - momentum->
vect();
115 LeftParton = old.LeftParton;
121 throw G4HadronicException(__FILE__, __LINE__,
"G4FragmentingString::G4FragmentingString: no decay Direction defined");
123 Pplus = old.Pplus - (momentum->
e() + momentum->
pz());
124 Pminus = old.Pminus - (momentum->
e() - momentum->
pz());
141 theStableParton=0; theDecayParton=0;
143 if ( old.decaying == Left )
145 RightParton= old.RightParton;
146 LeftParton = newdecay;
147 }
else if ( old.decaying == Right )
149 RightParton = newdecay;
150 LeftParton = old.LeftParton;
153 throw G4HadronicException(__FILE__, __LINE__,
"G4FragmentingString::G4FragmentingString: no decay Direction defined");
186 if (decaying == Left )
return +1;
187 else if (decaying == Right)
return -1;
188 else throw G4HadronicException(__FILE__, __LINE__,
"G4FragmentingString::GetDecayDirection: decay side UNdefined!");
216 if (decaying == Left )
return Ptright;
217 else if (decaying == Right )
return Ptleft;
218 else throw G4HadronicException(__FILE__, __LINE__,
"G4FragmentingString::DecayPt: decay side UNdefined!");
224 if (decaying == Left )
return Ptleft;
225 else if (decaying == Right )
return Ptright;
226 else throw G4HadronicException(__FILE__, __LINE__,
"G4FragmentingString::DecayPt: decay side UNdefined!");
244 if (decaying == Left )
return Pplus;
245 else if (decaying == Right )
return Pminus;
246 else throw G4HadronicException(__FILE__, __LINE__,
"G4FragmentingString::DecayPt: decay side UNdefined!");
255 momentum.
setPz(0.5*(Pplus-Pminus));
256 momentum.
setE(0.5*(Pplus+Pminus));
262 return Pplus*Pminus - (Ptleft+Ptright).mag2();
267 return std::sqrt(this->
Mass2());
CLHEP::Hep3Vector G4ThreeVector
G4Parton * GetRightParton(void) const
G4Parton * GetLeftParton(void) const
G4LorentzVector Get4Momentum() const
G4double LightConeDecay()
G4double LightConeMinus()
G4ParticleDefinition * GetLeftParton(void) const
G4ParticleDefinition * GetRightParton(void) const
G4LorentzVector Get4Momentum() const
void SetRightPartonStable()
void SetLeftPartonStable()
G4int GetDecayDirection() const
G4FragmentingString(const G4FragmentingString &right)
G4FragmentingString & operator=(const G4FragmentingString &)
G4bool FourQuarkString(void) const
const G4String & GetParticleSubType() const
G4ParticleDefinition * GetDefinition()
const G4LorentzVector & Get4Momentum() const