35 #ifndef G4KineticTrack_h
36 #define G4KineticTrack_h 1
265 if (
sqr(aEnergy) > mass2 )
267 newP = std::sqrt(
sqr(aEnergy) - mass2 );
270 aEnergy=std::sqrt(mass2);
301 if (
sqr(aEnergy) > mass2 )
303 newP = std::sqrt(
sqr(aEnergy) - mass2 );
306 aEnergy=std::sqrt(mass2);
350 for (index =
nChannels - 1; index >= 0; index--)
354 return theTotalActualWidth;
369 if((m_ij[0]+m_ij[1])<mass)
370 theCMMomentum = 1 / (2 * mass) *
371 std::sqrt (((mass * mass) - (m_ij[0] + m_ij[1]) * (m_ij[0] + m_ij[1])) *
372 ((mass * mass) - (m_ij[0] - m_ij[1]) * (m_ij[0] - m_ij[1])));
376 return theCMMomentum;
382 return (Gamma/((mass-rmass)*(mass-rmass)+Gamma*Gamma/4.))/Norm;
void SetProjectilePotential(const G4double aPotential)
G4int operator==(const G4KineticTrack &right) const
G4double SampleResidualLifetime()
const G4LorentzVector & Get4Momentum() const
static constexpr double hbar_Planck
void SetnChannels(const G4int aChannel)
G4LorentzVector the4Momentum
const G4LorentzVector & GetTrackingMomentum() const
G4double IntegrateCMMomentum(const G4double lowerLimit) const
G4double * theDaughterMass
G4bool nucleon(G4int ityp)
const G4ParticleDefinition * GetDefinition() const
G4double theProjectilePotential
CascadeState GetState() const
G4double * theActualWidth
const G4ParticleDefinition * theDefinition
G4double G4Log(G4double x)
G4double IntegrandFunction1(G4double xmass) const
CascadeState theStateToNucleus
G4double * GetActualWidth() const
G4double EvaluateCMMomentum(const G4double mass, const G4double *m_ij) const
G4ThreeVector thePosition
G4double IntegrandFunction3(G4double xmass) const
void SetTrackingMomentum(const G4LorentzVector &a4Momentum)
CascadeState SetState(const CascadeState new_state)
G4double IntegrandFunction4(G4double xmass) const
G4int operator!=(const G4KineticTrack &right) const
G4double theFormationTime
G4double GetActualMass() const
void SetActualWidth(G4double *anActualWidth)
G4double IntegrateCMMomentum2() const
G4LorentzVector theTotal4Momentum
static constexpr double twopi
G4double GetFormationTime() const
void Hit(G4VSplitableHadron *aHit)
G4KineticTrack & operator=(const G4KineticTrack &right)
void SetPosition(const G4ThreeVector aPosition)
void UpdateTrackingMomentum(G4double aEnergy)
G4int GetnChannels() const
G4double BrWig(const G4double Gamma, const G4double rmass, const G4double mass) const
G4bool IsParticipant() const
void Update4Momentum(G4double aEnergy)
G4LorentzVector theFermi3Momentum
void SetDefinition(const G4ParticleDefinition *aDefinition)
G4double IntegrandFunction2(G4double xmass) const
const G4ThreeVector & GetPosition() const
CLHEP::HepLorentzVector G4LorentzVector
G4double GetProjectilePotential() const
G4double EvaluateTotalActualWidth()
void Set4Momentum(const G4LorentzVector &a4Momentum)
void SetFormationTime(G4double aFormationTime)
G4double * theDaughterWidth
G4KineticTrackVector * Decay()
void SetNucleon(G4Nucleon *aN)