GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
Loading...
Searching...
No Matches
TKinematics Class Reference

Detailed Description

This class calculates 2 body kinematics from a beam, target, recoil, ejectile, and beam energy.

Definition at line 33 of file TKinematics.h.

Public Member Functions

 TKinematics (const char *beam, const char *targ, const char *ejec, const char *reco, double eBeam, double ex3=0.0, const char *name="")
 
 TKinematics (double eBeam, const char *beam, const char *targ, const char *ejec=nullptr, const char *reco=nullptr, const char *name="")
 
 TKinematics (TNucleus *projectile, TNucleus *target, double eBeam, const char *name="")
 
 TKinematics (TNucleus *projectile, TNucleus *target, TNucleus *recoil, TNucleus *ejectile, double eBeam, const char *name="")
 
 TKinematics (TNucleus *projectile, TNucleus *target, TNucleus *recoil, TNucleus *ejectile, double eBeam, double ex3, const char *name="")
 
double Angle_cm2lab (double vcm, double angle_cm) const
 
double Angle_lab2cm (double vcm, double angle_lab) const
 
double Angle_lab2cminverse (double vcm, double angle_lab, bool upper=true) const
 
void AngleErr_lab2cm (double angle, double &err) const
 
bool CheckMaxAngle (double angle, int part) const
 
TSpline3 * cmvslab (double thmin, double thmax, double size, int part=2) const
 
double ELab (double angle_lab, int part)
 
TSpline3 * Evscm (double thmin, double thmax, double size, int part=2)
 
TSpline3 * Evslab (double thmin, double thmax, double size, int part=2)
 
TGraph * Evslab_graph (double thmin, double thmax, double size, int part=2)
 
void Final (double angle, int part)
 
void FinalCm ()
 
double GetBeamEnergy (double LabAngle, double LabEnergy) const
 
double GetBetacm () const
 
double GetBetacm (int i) const
 
double GetCmEnergy () const
 
double GetCmEnergy (double eBeam) const
 
double GetEcm (int i) const
 
double GetElab (int i) const
 
double GetExcEnergy (double theta, double KinE)
 
double GetExcEnergy (TLorentzVector recoil)
 
double GetExcEnergy (TVector3 position, double KinE)
 
double GetGammacm () const
 
double GetM (int i) const
 
double GetMaxAngle (double vcm) const
 
double GetMaxAngle (int part) const
 
double GetQValue () const
 
double GetTcm (int i) const
 
double GetThetacm (int i) const
 
double GetThetalab (int i) const
 
double GetTlab (int i) const
 
double GetV (int i) const
 
double GetVcm (int i) const
 
void Initial ()
 
TSpline3 * labvscm (double thmin, double thmax, double size, int part=2) const
 
double NormalkinEnergy () const
 
double Rutherford (double angle_cm) const
 
TSpline3 * Ruthvscm (double thmin, double thmax, double size) const
 
TSpline3 * Ruthvslab (double thmin, double thmax, double size, int part) const
 
void SetAngles (double angle, int part, bool upper=false)
 
double Sigma_cm2lab (double angle_cm, double sigma_cm) const
 
double Sigma_lab2cm (double angle_cm, double sigma_lab) const
 
void SigmaErr_lab2cm (double angle, double err, double &sigma, double &errsigma) const
 
double Steffen_cm2labinverse (double theta_cm, int part=2) const
 
double Steffen_lab2cminverse (double theta_lab)
 
TSpline3 * Steffen_labvscminverse (double thmin, double thmax, double size, int part=2) const
 
void Transform2cm (double &angle, double &errangle, double &sigma, double &errsigma) const
 
void Transform2cm (double &angle, double &sigma) const
 

Private Member Functions

double betacm_tm (double, double) const
 
double E_final (int) const
 
double E_tm (double, double) const
 
double P_tm (double, double) const
 
double Pcm_em (double, double) const
 
double T_em (double, double) const
 
double T_final (int) const
 
double V_pe (double, double) const
 

Private Attributes

double fBeta_cm {0.}
 
double fBetacm [4] {0.}
 
TSpline3 * fCm2LabSpline {nullptr}
 
double fE [4] {0.}
 
double fEBeam {0.}
 
double fEcm [4] {0.}
 
double fGamma_cm {0.}
 
double fM [4] {0.}
 
double fP [4] {0.}
 
TNucleusfParticle [4] {nullptr}
 
double fPcm [4] {0.}
 
double fQValue {0.}
 
double fT [4] {0.}
 
double fTcm [4] {0.}
 
double fTCm_f {0.}
 
double fTCm_i {0.}
 
double fTheta [4] {0.}
 
double fThetacm [4] {0.}
 
double fV [4] {0.}
 
double fVcm [4] {0.}
 
+ Inheritance diagram for TKinematics:
+ Collaboration diagram for TKinematics:

Constructor & Destructor Documentation

◆ TKinematics() [1/5]

TKinematics::TKinematics ( double eBeam,
const char * beam,
const char * targ,
const char * ejec = nullptr,
const char * reco = nullptr,
const char * name = "" )

Definition at line 6 of file TKinematics.cxx.

References FinalCm(), fM, fParticle, fQValue, TNucleus::GetMass(), and Initial().

◆ TKinematics() [2/5]

TKinematics::TKinematics ( TNucleus * projectile,
TNucleus * target,
double eBeam,
const char * name = "" )

Definition at line 39 of file TKinematics.cxx.

References FinalCm(), fM, fParticle, TNucleus::GetMass(), and Initial().

◆ TKinematics() [3/5]

TKinematics::TKinematics ( TNucleus * projectile,
TNucleus * target,
TNucleus * recoil,
TNucleus * ejectile,
double eBeam,
const char * name = "" )

Definition at line 54 of file TKinematics.cxx.

References FinalCm(), fM, fParticle, fQValue, TNucleus::GetMass(), and Initial().

◆ TKinematics() [4/5]

TKinematics::TKinematics ( TNucleus * projectile,
TNucleus * target,
TNucleus * recoil,
TNucleus * ejectile,
double eBeam,
double ex3,
const char * name = "" )

Definition at line 72 of file TKinematics.cxx.

References FinalCm(), fM, fParticle, fQValue, TNucleus::GetMass(), and Initial().

◆ TKinematics() [5/5]

TKinematics::TKinematics ( const char * beam,
const char * targ,
const char * ejec,
const char * reco,
double eBeam,
double ex3 = 0.0,
const char * name = "" )

Definition at line 90 of file TKinematics.cxx.

References FinalCm(), fM, fParticle, fQValue, TNucleus::GetMass(), and Initial().

Member Function Documentation

◆ Angle_cm2lab()

double TKinematics::Angle_cm2lab ( double vcm,
double angle_cm ) const

Definition at line 487 of file TKinematics.cxx.

References fBeta_cm, and fGamma_cm.

Referenced by cmvslab(), labvscm(), Ruthvslab(), and SetAngles().

◆ Angle_lab2cm()

double TKinematics::Angle_lab2cm ( double vcm,
double angle_lab ) const

Definition at line 435 of file TKinematics.cxx.

References fBeta_cm, and fGamma_cm.

Referenced by AngleErr_lab2cm(), SetAngles(), and Transform2cm().

◆ Angle_lab2cminverse()

double TKinematics::Angle_lab2cminverse ( double vcm,
double angle_lab,
bool upper = true ) const

Definition at line 447 of file TKinematics.cxx.

References fBeta_cm, and fGamma_cm.

Referenced by SetAngles().

◆ AngleErr_lab2cm()

void TKinematics::AngleErr_lab2cm ( double angle,
double & err ) const

Definition at line 481 of file TKinematics.cxx.

References Angle_lab2cm(), and fVcm.

Referenced by Transform2cm().

◆ betacm_tm()

double TKinematics::betacm_tm ( double t,
double m ) const
private

Definition at line 674 of file TKinematics.cxx.

Referenced by FinalCm(), and Initial().

◆ CheckMaxAngle()

bool TKinematics::CheckMaxAngle ( double angle,
int part ) const

Definition at line 430 of file TKinematics.cxx.

References fVcm, and GetMaxAngle().

◆ cmvslab()

TSpline3 * TKinematics::cmvslab ( double thmin,
double thmax,
double size,
int part = 2 ) const

Definition at line 514 of file TKinematics.cxx.

References Angle_cm2lab(), fVcm, and PI.

◆ E_final()

double TKinematics::E_final ( int i) const
private

Definition at line 682 of file TKinematics.cxx.

References fBeta_cm, fEcm, fGamma_cm, and fPcm.

Referenced by Final().

◆ E_tm()

double TKinematics::E_tm ( double t,
double m ) const
private

Definition at line 666 of file TKinematics.cxx.

Referenced by FinalCm(), and Initial().

◆ ELab()

double TKinematics::ELab ( double angle_lab,
int part )

Definition at line 364 of file TKinematics.cxx.

References Final(), and GetTlab().

◆ Evscm()

TSpline3 * TKinematics::Evscm ( double thmin,
double thmax,
double size,
int part = 2 )

Definition at line 202 of file TKinematics.cxx.

References Final(), GetThetacm(), GetTlab(), and PI.

◆ Evslab()

TSpline3 * TKinematics::Evslab ( double thmin,
double thmax,
double size,
int part = 2 )

Definition at line 123 of file TKinematics.cxx.

References ALERTTEXT, Final(), fVcm, GetMaxAngle(), GetThetalab(), GetTlab(), PI, and RESET_COLOR.

◆ Evslab_graph()

TGraph * TKinematics::Evslab_graph ( double thmin,
double thmax,
double size,
int part = 2 )

Definition at line 167 of file TKinematics.cxx.

References ALERTTEXT, Final(), fVcm, GetMaxAngle(), GetThetalab(), GetTlab(), PI, and RESET_COLOR.

◆ Final()

void TKinematics::Final ( double angle,
int part )

Definition at line 340 of file TKinematics.cxx.

References E_final(), fE, fM, fP, fT, fV, fVcm, GetMaxAngle(), P_tm(), SetAngles(), T_final(), and V_pe().

Referenced by ELab(), Evscm(), Evslab(), and Evslab_graph().

◆ FinalCm()

void TKinematics::FinalCm ( )

◆ GetBeamEnergy()

double TKinematics::GetBeamEnergy ( double LabAngle,
double LabEnergy ) const

Definition at line 261 of file TKinematics.cxx.

References fM, and ps.

◆ GetBetacm() [1/2]

double TKinematics::GetBetacm ( ) const
inline

Definition at line 89 of file TKinematics.h.

References fBeta_cm.

Referenced by GetExcEnergy().

◆ GetBetacm() [2/2]

double TKinematics::GetBetacm ( int i) const
inline

Definition at line 91 of file TKinematics.h.

References fBetacm.

◆ GetCmEnergy() [1/2]

double TKinematics::GetCmEnergy ( ) const

Definition at line 405 of file TKinematics.cxx.

References fEBeam, and GetCmEnergy().

Referenced by FinalCm(), GetCmEnergy(), GetExcEnergy(), Initial(), and NormalkinEnergy().

◆ GetCmEnergy() [2/2]

double TKinematics::GetCmEnergy ( double eBeam) const

Definition at line 400 of file TKinematics.cxx.

References fM.

◆ GetEcm()

double TKinematics::GetEcm ( int i) const
inline

Definition at line 71 of file TKinematics.h.

References fEcm.

◆ GetElab()

double TKinematics::GetElab ( int i) const
inline

Definition at line 68 of file TKinematics.h.

References fE.

◆ GetExcEnergy() [1/3]

double TKinematics::GetExcEnergy ( double theta,
double KinE )

Definition at line 251 of file TKinematics.cxx.

References fBeta_cm, fGamma_cm, fM, and fT.

◆ GetExcEnergy() [2/3]

double TKinematics::GetExcEnergy ( TLorentzVector recoil)

Definition at line 222 of file TKinematics.cxx.

References fParticle, GetBetacm(), GetCmEnergy(), and TNucleus::GetMass().

Referenced by GetExcEnergy().

◆ GetExcEnergy() [3/3]

double TKinematics::GetExcEnergy ( TVector3 position,
double KinE )

Definition at line 238 of file TKinematics.cxx.

References fM, and GetExcEnergy().

◆ GetGammacm()

double TKinematics::GetGammacm ( ) const
inline

Definition at line 90 of file TKinematics.h.

References fGamma_cm.

◆ GetM()

double TKinematics::GetM ( int i) const
inline

Definition at line 69 of file TKinematics.h.

References fM.

◆ GetMaxAngle() [1/2]

double TKinematics::GetMaxAngle ( double vcm) const

Definition at line 416 of file TKinematics.cxx.

References fBeta_cm, fGamma_cm, and PI.

Referenced by CheckMaxAngle(), Evslab(), Evslab_graph(), Final(), and GetMaxAngle().

◆ GetMaxAngle() [2/2]

double TKinematics::GetMaxAngle ( int part) const

Definition at line 425 of file TKinematics.cxx.

References fVcm, and GetMaxAngle().

◆ GetQValue()

double TKinematics::GetQValue ( ) const
inline

Definition at line 67 of file TKinematics.h.

References fQValue.

◆ GetTcm()

double TKinematics::GetTcm ( int i) const
inline

Definition at line 72 of file TKinematics.h.

References fTcm.

◆ GetThetacm()

double TKinematics::GetThetacm ( int i) const
inline

Definition at line 81 of file TKinematics.h.

References fThetacm.

Referenced by Evscm().

◆ GetThetalab()

double TKinematics::GetThetalab ( int i) const
inline

Definition at line 74 of file TKinematics.h.

References fTheta.

Referenced by Evslab(), and Evslab_graph().

◆ GetTlab()

double TKinematics::GetTlab ( int i) const
inline

Definition at line 70 of file TKinematics.h.

References fT.

Referenced by ELab(), Evscm(), Evslab(), and Evslab_graph().

◆ GetV()

double TKinematics::GetV ( int i) const
inline

Definition at line 93 of file TKinematics.h.

References fV.

◆ GetVcm()

double TKinematics::GetVcm ( int i) const
inline

Definition at line 92 of file TKinematics.h.

References fVcm.

◆ Initial()

void TKinematics::Initial ( )

◆ labvscm()

TSpline3 * TKinematics::labvscm ( double thmin,
double thmax,
double size,
int part = 2 ) const

Definition at line 494 of file TKinematics.cxx.

References Angle_cm2lab(), fVcm, and PI.

◆ NormalkinEnergy()

double TKinematics::NormalkinEnergy ( ) const

Definition at line 410 of file TKinematics.cxx.

References fEBeam, fM, and GetCmEnergy().

◆ P_tm()

double TKinematics::P_tm ( double t,
double m ) const
private

Definition at line 662 of file TKinematics.cxx.

Referenced by Final().

◆ Pcm_em()

double TKinematics::Pcm_em ( double e,
double m ) const
private

Definition at line 658 of file TKinematics.cxx.

Referenced by FinalCm(), and Initial().

◆ Rutherford()

double TKinematics::Rutherford ( double angle_cm) const

Definition at line 596 of file TKinematics.cxx.

References fParticle, fTCm_i, and TNucleus::GetZ().

Referenced by Ruthvscm(), and Ruthvslab().

◆ Ruthvscm()

TSpline3 * TKinematics::Ruthvscm ( double thmin,
double thmax,
double size ) const

Definition at line 605 of file TKinematics.cxx.

References PI, and Rutherford().

◆ Ruthvslab()

TSpline3 * TKinematics::Ruthvslab ( double thmin,
double thmax,
double size,
int part ) const

Definition at line 626 of file TKinematics.cxx.

References Angle_cm2lab(), fVcm, PI, Rutherford(), and Sigma_cm2lab().

◆ SetAngles()

void TKinematics::SetAngles ( double angle,
int part,
bool upper = false )

Definition at line 371 of file TKinematics.cxx.

References Angle_cm2lab(), Angle_lab2cm(), Angle_lab2cminverse(), fParticle, fTheta, fThetacm, fVcm, and PI.

Referenced by Final().

◆ Sigma_cm2lab()

double TKinematics::Sigma_cm2lab ( double angle_cm,
double sigma_cm ) const

Definition at line 554 of file TKinematics.cxx.

References fGamma_cm, fM, fTCm_f, fTCm_i, and PI.

Referenced by Ruthvslab().

◆ Sigma_lab2cm()

double TKinematics::Sigma_lab2cm ( double angle_cm,
double sigma_lab ) const

Definition at line 563 of file TKinematics.cxx.

References fGamma_cm, fM, fTCm_f, fTCm_i, and PI.

Referenced by Transform2cm().

◆ SigmaErr_lab2cm()

void TKinematics::SigmaErr_lab2cm ( double angle,
double err,
double & sigma,
double & errsigma ) const

Definition at line 572 of file TKinematics.cxx.

References fGamma_cm, fM, fTCm_f, fTCm_i, and PI.

Referenced by Transform2cm().

◆ Steffen_cm2labinverse()

double TKinematics::Steffen_cm2labinverse ( double theta_cm,
int part = 2 ) const

Definition at line 460 of file TKinematics.cxx.

References fBeta_cm, fGamma_cm, fVcm, and PI.

Referenced by Steffen_labvscminverse().

◆ Steffen_lab2cminverse()

double TKinematics::Steffen_lab2cminverse ( double theta_lab)

Definition at line 471 of file TKinematics.cxx.

References fCm2LabSpline, and Steffen_labvscminverse().

◆ Steffen_labvscminverse()

TSpline3 * TKinematics::Steffen_labvscminverse ( double thmin,
double thmax,
double size,
int part = 2 ) const

Definition at line 534 of file TKinematics.cxx.

References PI, and Steffen_cm2labinverse().

Referenced by Steffen_lab2cminverse().

◆ T_em()

double TKinematics::T_em ( double e,
double m ) const
private

Definition at line 670 of file TKinematics.cxx.

◆ T_final()

double TKinematics::T_final ( int i) const
private

Definition at line 686 of file TKinematics.cxx.

References fBeta_cm, fGamma_cm, fM, fPcm, fTcm, and fThetacm.

Referenced by Final().

◆ Transform2cm() [1/2]

void TKinematics::Transform2cm ( double & angle,
double & errangle,
double & sigma,
double & errsigma ) const

Definition at line 589 of file TKinematics.cxx.

References AngleErr_lab2cm(), SigmaErr_lab2cm(), and Transform2cm().

◆ Transform2cm() [2/2]

void TKinematics::Transform2cm ( double & angle,
double & sigma ) const

Definition at line 583 of file TKinematics.cxx.

References Angle_lab2cm(), fVcm, PI, and Sigma_lab2cm().

Referenced by Transform2cm().

◆ V_pe()

double TKinematics::V_pe ( double p,
double e ) const
private

Definition at line 678 of file TKinematics.cxx.

Referenced by Final(), FinalCm(), and Initial().

Member Data Documentation

◆ fBeta_cm

double TKinematics::fBeta_cm {0.}
private

◆ fBetacm

double TKinematics::fBetacm[4] {0.}
private

Definition at line 130 of file TKinematics.h.

Referenced by FinalCm(), GetBetacm(), and Initial().

◆ fCm2LabSpline

TSpline3* TKinematics::fCm2LabSpline {nullptr}
private

Definition at line 136 of file TKinematics.h.

Referenced by Steffen_lab2cminverse().

◆ fE

double TKinematics::fE[4] {0.}
private

Definition at line 121 of file TKinematics.h.

Referenced by Final(), GetElab(), and Initial().

◆ fEBeam

double TKinematics::fEBeam {0.}
private

Definition at line 118 of file TKinematics.h.

Referenced by FinalCm(), GetCmEnergy(), Initial(), and NormalkinEnergy().

◆ fEcm

double TKinematics::fEcm[4] {0.}
private

Definition at line 127 of file TKinematics.h.

Referenced by E_final(), FinalCm(), GetEcm(), and Initial().

◆ fGamma_cm

◆ fM

◆ fP

double TKinematics::fP[4] {0.}
private

Definition at line 122 of file TKinematics.h.

Referenced by Final(), and Initial().

◆ fParticle

TNucleus* TKinematics::fParticle[4] {nullptr}
private

◆ fPcm

double TKinematics::fPcm[4] {0.}
private

Definition at line 128 of file TKinematics.h.

Referenced by E_final(), FinalCm(), Initial(), and T_final().

◆ fQValue

double TKinematics::fQValue {0.}
private

Definition at line 119 of file TKinematics.h.

Referenced by TKinematics(), TKinematics(), TKinematics(), TKinematics(), GetQValue(), and Initial().

◆ fT

double TKinematics::fT[4] {0.}
private

Definition at line 120 of file TKinematics.h.

Referenced by Final(), GetExcEnergy(), GetTlab(), and Initial().

◆ fTcm

double TKinematics::fTcm[4] {0.}
private

Definition at line 126 of file TKinematics.h.

Referenced by FinalCm(), GetTcm(), Initial(), and T_final().

◆ fTCm_f

double TKinematics::fTCm_f {0.}
private

Definition at line 112 of file TKinematics.h.

Referenced by FinalCm(), Initial(), Sigma_cm2lab(), Sigma_lab2cm(), and SigmaErr_lab2cm().

◆ fTCm_i

double TKinematics::fTCm_i {0.}
private

Definition at line 111 of file TKinematics.h.

Referenced by Initial(), Rutherford(), Sigma_cm2lab(), Sigma_lab2cm(), and SigmaErr_lab2cm().

◆ fTheta

double TKinematics::fTheta[4] {0.}
private

Definition at line 124 of file TKinematics.h.

Referenced by GetThetalab(), and SetAngles().

◆ fThetacm

double TKinematics::fThetacm[4] {0.}
private

Definition at line 131 of file TKinematics.h.

Referenced by GetThetacm(), SetAngles(), and T_final().

◆ fV

double TKinematics::fV[4] {0.}
private

Definition at line 123 of file TKinematics.h.

Referenced by Final(), GetV(), and Initial().

◆ fVcm