35 #ifndef G4KineticTrack_h 
   36 #define G4KineticTrack_h 1 
  134       void SetnChannels(
const G4int aChannel);
 
  136       void SetActualWidth(
G4double* anActualWidth); 
 
  138       G4double EvaluateTotalActualWidth();
 
  147       G4double IntegrateCMMomentum2() 
const;
 
  215   return theDefinition;
 
  220   theDefinition = aDefinition;
 
  227   return theFormationTime;
 
  232   theFormationTime = aFormationTime;
 
  244   thePosition = aPosition;
 
  250   return theTotal4Momentum;
 
  262   theTotal4Momentum=a4Momentum;
 
  263   the4Momentum = theTotal4Momentum;
 
  273   if ( 
sqr(aEnergy) > mass2 )
 
  275       newP = std::sqrt(
sqr(aEnergy) - mass2 );
 
  278       aEnergy=std::sqrt(mass2);
 
  295   the4Momentum = aMomentum;
 
  296   theTotal4Momentum=the4Momentum+theFermi3Momentum;
 
  300   theTotal4Momentum.
setE(std::sqrt(mass2+p2));
 
  309   if ( 
sqr(aEnergy) > mass2 )
 
  311       newP = std::sqrt(
sqr(aEnergy) - mass2 );
 
  314       aEnergy=std::sqrt(mass2);
 
  332   return std::sqrt(std::abs(the4Momentum.
mag2()));
 
  342 inline void G4KineticTrack::SetnChannels(
const G4int numberOfChannels)
 
  344   nChannels = numberOfChannels;
 
  351   return theActualWidth;
 
  354 inline void G4KineticTrack::SetActualWidth(
G4double* anActualWidth)
 
  356   theActualWidth = anActualWidth;
 
  361 inline G4double G4KineticTrack::EvaluateTotalActualWidth()
 
  365  for (index = nChannels - 1; index >= 0; index--)
 
  367      theTotalActualWidth += theActualWidth[
index];
 
  369  return theTotalActualWidth;
 
  376  G4double theTotalActualWidth = this->EvaluateTotalActualWidth();
 
  377  G4double tau = CLHEP::hbar_Planck * (-1.0 / theTotalActualWidth);
 
  379  return theResidualLifetime*the4Momentum.
gamma();
 
  388   if((m_ij[0]+m_ij[1])<mass)
 
  389    theCMMomentum = 1 / (2 * mass) * 
 
  390           std::sqrt (((mass * mass) - (m_ij[0] + m_ij[1]) * (m_ij[0] + m_ij[1])) *
 
  391                 ((mass * mass) - (m_ij[0] - m_ij[1]) * (m_ij[0] - m_ij[1])));
 
  395  return theCMMomentum;
 
  401   return (Gamma/((mass-rmass)*(mass-rmass)+Gamma*Gamma/4.))/Norm;
 
  416   if(!theNucleon) 
return true;
 
  423     return theStateToNucleus;
 
  430     theStateToNucleus=new_state;
 
  437     theProjectilePotential = aPotential;
 
  442     return theProjectilePotential;
 
G4bool IsParticipant() const 
 
void Update4Momentum(G4double aEnergy)
 
G4int operator==(const G4KineticTrack &right) const 
 
CascadeState GetState() const 
 
G4int GetnChannels() const 
 
const G4ThreeVector & GetPosition() const 
 
G4KineticTrackVector * Decay()
 
void SetFormationTime(G4double aFormationTime)
 
void UpdateTrackingMomentum(G4double aEnergy)
 
void SetDefinition(G4ParticleDefinition *aDefinition)
 
G4double GetActualMass() const 
 
void SetProjectilePotential(const G4double aPotential)
 
G4double * GetActualWidth() const 
 
G4int operator!=(const G4KineticTrack &right) const 
 
G4ParticleDefinition * GetDefinition() const 
 
CascadeState SetState(const CascadeState new_state)
 
G4bool nucleon(G4int ityp)
 
G4double GetFormationTime() const 
 
void SetNucleon(G4Nucleon *aN)
 
void SetPosition(const G4ThreeVector aPosition)
 
G4KineticTrack & operator=(const G4KineticTrack &right)
 
void Set4Momentum(const G4LorentzVector &a4Momentum)
 
const G4LorentzVector & GetTrackingMomentum() const 
 
void SetTrackingMomentum(const G4LorentzVector &a4Momentum)
 
void Hit(G4VSplitableHadron *aHit)
 
const G4LorentzVector & Get4Momentum() const 
 
G4double SampleResidualLifetime()
 
G4double BrWig(const G4double Gamma, const G4double rmass, const G4double mass) const 
 
G4double GetProjectilePotential() const 
 
CLHEP::HepLorentzVector G4LorentzVector