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