G4FragmentingString Class Reference

#include <G4FragmentingString.hh>


Public Member Functions

 G4FragmentingString (const G4FragmentingString &right)
 G4FragmentingString (const G4ExcitedString &excited)
 G4FragmentingString (const G4FragmentingString &old, G4ParticleDefinition *newdecay, const G4LorentzVector *momentum)
 G4FragmentingString (const G4FragmentingString &old, G4ParticleDefinition *newdecay)
 ~G4FragmentingString ()
G4FragmentingStringoperator= (const G4FragmentingString &)
int operator== (const G4FragmentingString &right) const
int operator!= (const G4FragmentingString &right) const
G4LorentzVector Get4Momentum () const
G4ThreeVector StablePt ()
G4ThreeVector DecayPt ()
G4double LightConePlus ()
G4double LightConeMinus ()
G4double LightConeDecay ()
G4double Mass () const
G4double Mass2 () const
G4double MassT2 () const
G4ParticleDefinitionGetLeftParton (void) const
G4ParticleDefinitionGetRightParton (void) const
G4ParticleDefinitionGetStableParton () const
G4ParticleDefinitionGetDecayParton () const
void SetLeftPartonStable ()
void SetRightPartonStable ()
G4int GetDecayDirection () const
G4bool DecayIsQuark ()
G4bool StableIsQuark ()
G4bool FourQuarkString (void) const


Detailed Description

Definition at line 49 of file G4FragmentingString.hh.


Constructor & Destructor Documentation

G4FragmentingString::G4FragmentingString ( const G4FragmentingString right  ) 

Definition at line 46 of file G4FragmentingString.cc.

References decaying, LeftParton, Pminus, Pplus, Ptleft, Ptright, RightParton, theDecayParton, and theStableParton.

00047 {
00048         LeftParton=old.LeftParton;
00049         RightParton=old.RightParton;
00050         Ptleft=old.Ptleft;
00051         Ptright=old.Ptright;
00052         Pplus=old.Pplus;
00053         Pminus=old.Pminus;
00054         theStableParton=old.theStableParton;
00055         theDecayParton=old.theDecayParton;
00056         decaying=old.decaying;
00057 }

G4FragmentingString::G4FragmentingString ( const G4ExcitedString excited  ) 

Definition at line 78 of file G4FragmentingString.cc.

References G4ExcitedString::Get4Momentum(), G4Parton::Get4Momentum(), G4Parton::GetDefinition(), G4ExcitedString::GetLeftParton(), and G4ExcitedString::GetRightParton().

00079 {
00080         LeftParton=excited.GetLeftParton()->GetDefinition();
00081         RightParton=excited.GetRightParton()->GetDefinition();
00082         Ptleft=excited.GetLeftParton()->Get4Momentum().vect();
00083         Ptleft.setZ(0.);
00084         Ptright=excited.GetRightParton()->Get4Momentum().vect();
00085         Ptright.setZ(0.);
00086         G4LorentzVector P=excited.Get4Momentum();
00087         Pplus =P.e() + P.pz();
00088         Pminus=P.e() - P.pz();
00089         theStableParton=0;
00090         theDecayParton=0;
00091         decaying=None;
00092 }

G4FragmentingString::G4FragmentingString ( const G4FragmentingString old,
G4ParticleDefinition newdecay,
const G4LorentzVector momentum 
)

Definition at line 96 of file G4FragmentingString.cc.

References decaying, GetLeftParton(), GetRightParton(), LeftParton, Pminus, Pplus, Ptleft, Ptright, and RightParton.

00099 {
00100         decaying=None;
00101         if ( old.decaying == Left )
00102         {
00103                 RightParton= old.RightParton;
00104                 Ptright    = old.Ptright;
00105                 LeftParton = newdecay;
00106                 Ptleft     = old.Ptleft - momentum->vect();
00107                 Ptleft.setZ(0.);
00108                 theDecayParton=GetLeftParton();
00109                 theStableParton=GetRightParton();
00110         } else if ( old.decaying == Right )
00111         {
00112                 RightParton = newdecay;
00113                 Ptright     = old.Ptright - momentum->vect();
00114                 Ptright.setZ(0.);
00115                 LeftParton  = old.LeftParton;
00116                 Ptleft      = old.Ptleft;
00117                 theDecayParton=GetRightParton();
00118                 theStableParton=GetLeftParton();
00119         } else
00120         {
00121                 throw G4HadronicException(__FILE__, __LINE__, "G4FragmentingString::G4FragmentingString: no decay Direction defined");
00122         }
00123         Pplus  = old.Pplus  - (momentum->e() + momentum->pz());
00124         Pminus = old.Pminus - (momentum->e() - momentum->pz());
00125         
00126         //G4double Eold=0.5 * (old.Pplus + old.Pminus);
00127         //G4double Enew=0.5 * (Pplus + Pminus);
00128 }

G4FragmentingString::G4FragmentingString ( const G4FragmentingString old,
G4ParticleDefinition newdecay 
)

Definition at line 133 of file G4FragmentingString.cc.

References decaying, LeftParton, and RightParton.

00135 {                                                                         
00136         decaying=None;                                                    
00137 
00138         Ptleft.setX(0.);  Ptleft.setY(0.);  Ptleft.setZ(0.);  // Uzhi 25.02.2011
00139         Ptright.setX(0.); Ptright.setY(0.); Ptright.setZ(0.); // Uzhi 25.02.2011
00140         Pplus=0.; Pminus=0.;                                  // Uzhi 25.02.2011
00141         theStableParton=0; theDecayParton=0;                  // Uzhi 25.02.2011
00142 
00143         if ( old.decaying == Left )                                       
00144         {                                                                 
00145                 RightParton= old.RightParton;                             
00146                 LeftParton = newdecay;                                    
00147         } else if ( old.decaying == Right )                               
00148         {                                                                 
00149                 RightParton = newdecay;                                   
00150                 LeftParton  = old.LeftParton;                             
00151         } else                                                            
00152         {
00153                 throw G4HadronicException(__FILE__, __LINE__, "G4FragmentingString::G4FragmentingString: no decay Direction defined");
00154         }
00155 }

G4FragmentingString::~G4FragmentingString (  ) 

Definition at line 160 of file G4FragmentingString.cc.

00161 {}


Member Function Documentation

G4bool G4FragmentingString::DecayIsQuark (  ) 

Definition at line 202 of file G4FragmentingString.cc.

References G4ParticleDefinition::GetParticleSubType().

Referenced by G4VLongitudinalStringDecay::Splitup().

00203 {
00204         return theDecayParton->GetParticleSubType()== "quark";
00205 }

G4ThreeVector G4FragmentingString::DecayPt (  ) 

Definition at line 222 of file G4FragmentingString.cc.

00223 {
00224         if (decaying == Left ) return Ptleft;
00225         else if (decaying == Right ) return Ptright;
00226         else throw G4HadronicException(__FILE__, __LINE__, "G4FragmentingString::DecayPt: decay side UNdefined!");
00227         return G4ThreeVector();
00228 }

G4bool G4FragmentingString::FourQuarkString ( void   )  const

Definition at line 194 of file G4FragmentingString.cc.

References G4ParticleDefinition::GetParticleSubType().

Referenced by G4VLongitudinalStringDecay::FragmentationMass().

00195 {
00196         return   LeftParton->GetParticleSubType()== "di_quark" 
00197              && RightParton->GetParticleSubType()== "di_quark";
00198 }

G4LorentzVector G4FragmentingString::Get4Momentum (  )  const

Definition at line 252 of file G4FragmentingString.cc.

00253 {
00254         G4LorentzVector momentum(Ptleft+Ptright,0);
00255         momentum.setPz(0.5*(Pplus-Pminus));
00256         momentum.setE(0.5*(Pplus+Pminus));
00257         return momentum;
00258 }

G4int G4FragmentingString::GetDecayDirection (  )  const

Definition at line 184 of file G4FragmentingString.cc.

Referenced by G4QGSMFragmentation::FragmentString().

00185 {
00186         if      (decaying == Left ) return +1;
00187         else if (decaying == Right) return -1;
00188         else throw G4HadronicException(__FILE__, __LINE__, "G4FragmentingString::GetDecayDirection: decay side UNdefined!");
00189         return 0;
00190 }

G4ParticleDefinition * G4FragmentingString::GetDecayParton (  )  const [inline]

Definition at line 131 of file G4FragmentingString.hh.

Referenced by G4VLongitudinalStringDecay::Splitup().

00132 {
00133      return  theDecayParton;
00134 }       

G4ParticleDefinition * G4FragmentingString::GetLeftParton ( void   )  const [inline]

Definition at line 137 of file G4FragmentingString.hh.

Referenced by G4VLongitudinalStringDecay::FragmentationMass(), G4FragmentingString(), SetLeftPartonStable(), and SetRightPartonStable().

00138     {
00139     return LeftParton; 
00140     }

G4ParticleDefinition * G4FragmentingString::GetRightParton ( void   )  const [inline]

Definition at line 143 of file G4FragmentingString.hh.

Referenced by G4VLongitudinalStringDecay::FragmentationMass(), G4FragmentingString(), SetLeftPartonStable(), and SetRightPartonStable().

00144     {
00145     return RightParton; 
00146     }

G4ParticleDefinition * G4FragmentingString::GetStableParton (  )  const [inline]

Definition at line 125 of file G4FragmentingString.hh.

00126 {
00127      return  theStableParton;
00128 }       

G4double G4FragmentingString::LightConeDecay (  ) 

Definition at line 242 of file G4FragmentingString.cc.

00243 {
00244         if (decaying == Left ) return Pplus;
00245         else if (decaying == Right ) return Pminus;
00246         else throw G4HadronicException(__FILE__, __LINE__, "G4FragmentingString::DecayPt: decay side UNdefined!");
00247         return 0;
00248 }

G4double G4FragmentingString::LightConeMinus (  ) 

Definition at line 237 of file G4FragmentingString.cc.

00238 {
00239         return Pminus;
00240 }

G4double G4FragmentingString::LightConePlus (  ) 

Definition at line 232 of file G4FragmentingString.cc.

00233 {
00234         return Pplus;
00235 }

G4double G4FragmentingString::Mass (  )  const

Definition at line 265 of file G4FragmentingString.cc.

00266 {
00267         return std::sqrt(this->Mass2());
00268 }

G4double G4FragmentingString::Mass2 (  )  const

Definition at line 260 of file G4FragmentingString.cc.

Referenced by G4VLongitudinalStringDecay::LightFragmentationTest().

00261 {
00262         return Pplus*Pminus - (Ptleft+Ptright).mag2();
00263 }

G4double G4FragmentingString::MassT2 (  )  const

Definition at line 270 of file G4FragmentingString.cc.

00271 {
00272         return Pplus*Pminus;
00273 }

int G4FragmentingString::operator!= ( const G4FragmentingString right  )  const [inline]

Definition at line 118 of file G4FragmentingString.hh.

00119 {
00120         return this != &right;
00121 }

G4FragmentingString & G4FragmentingString::operator= ( const G4FragmentingString  ) 

Definition at line 59 of file G4FragmentingString.cc.

References decaying, LeftParton, Pminus, Pplus, Ptleft, Ptright, RightParton, theDecayParton, and theStableParton.

00060 {
00061    if (this != &old)
00062    {
00063    LeftParton=old.LeftParton;
00064    RightParton=old.RightParton;
00065    Ptleft=old.Ptleft;
00066    Ptright=old.Ptright;
00067    Pplus=old.Pplus;
00068    Pminus=old.Pminus;
00069    theStableParton=old.theStableParton;
00070    theDecayParton=old.theDecayParton;
00071    decaying=old.decaying;
00072    }
00073    return *this;
00074 }

int G4FragmentingString::operator== ( const G4FragmentingString right  )  const [inline]

Definition at line 112 of file G4FragmentingString.hh.

00113 {
00114         return this == &right;
00115 }

void G4FragmentingString::SetLeftPartonStable (  ) 

Definition at line 166 of file G4FragmentingString.cc.

References GetLeftParton(), and GetRightParton().

Referenced by G4VLongitudinalStringDecay::Splitup().

00167 {
00168      theStableParton=GetLeftParton();
00169      theDecayParton=GetRightParton();
00170      decaying=Right;
00171 }

void G4FragmentingString::SetRightPartonStable (  ) 

Definition at line 175 of file G4FragmentingString.cc.

References GetLeftParton(), and GetRightParton().

Referenced by G4VLongitudinalStringDecay::Splitup().

00176 {
00177      theStableParton=GetRightParton();
00178      theDecayParton=GetLeftParton();
00179      decaying=Left;
00180 }

G4bool G4FragmentingString::StableIsQuark (  ) 

Definition at line 207 of file G4FragmentingString.cc.

References G4ParticleDefinition::GetParticleSubType().

00208 {
00209         return theStableParton->GetParticleSubType()== "quark";
00210 }

G4ThreeVector G4FragmentingString::StablePt (  ) 

Definition at line 214 of file G4FragmentingString.cc.

00215 {
00216         if (decaying == Left ) return Ptright;
00217         else if (decaying == Right ) return Ptleft;
00218         else throw G4HadronicException(__FILE__, __LINE__, "G4FragmentingString::DecayPt: decay side UNdefined!");
00219         return G4ThreeVector();
00220 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:52:00 2013 for Geant4 by  doxygen 1.4.7