19#define PI (3.14159265358979312e+00)
23#define R2D (5.72957795130823229e+01)
27#define D2R (1.74532925199432955e-02)
61 TReaction(
const char* beam,
const char* targ,
const char* ejec,
const char* reco,
double eBeam = 0.0,
double ex3 = 0.0,
bool inverse =
false);
66 const char*
GetNameFull()
const {
return Form(
"%s @ %.3f MeV/u", this->GetName(),
fTLab[0] /
fNuc[0]->GetA()); }
68 double GetM(
int part)
const {
return fM[part]; }
94 double GetELab(
double theta_lab = 0.0,
int part = 0)
const
98 double GetTLab(
double theta_lab = 0.0,
int part = 0)
const
102 double GetVLab(
double theta_lab = 0.0,
int part = 0)
const
106 double GetPLab(
double theta_lab = 0.0,
int part = 0)
const
110 double GetGLab(
double theta_lab = 0.0,
int part = 0)
const
122 double GetExcEnergy(
double ekin = 0.00,
double theta_lab = 0.00,
int part = 2)
const;
123 void AnalysisAngDist(
double ekin,
double theta_lab,
int part,
double& exc,
double& theta_cm,
double& omega_lab2cm);
126 double GetRutherfordCm(
double theta_cm,
int part = 2,
bool Units_mb =
true)
const;
127 double GetRutherfordLab(
double theta_lab,
int part = 2,
bool Units_mb =
true)
const;
132 void ConvertLabToCm(
double theta_lab,
double omega_lab,
double& theta_cm,
double& omega_cm,
int part = 2)
const;
137 void ConvertCmToLab(
double theta_cm,
double omega_cm,
double& theta_lab,
double& omega_lab,
int part = 2)
const;
141 TGraph*
KinVsTheta(
double thmin = 0.0,
double thmax = 180.0,
int part = 2,
bool Frame_Lab =
true,
bool Units_keV =
true)
const;
143 TGraph*
ThetaVsTheta(
double thmin = 0.0,
double thmax = 180.0,
int part = 2,
bool Frame_Lab =
true)
const;
145 TGraph*
OmegaVsTheta(
double thmin = 0.0,
double thmax = 180.0,
int part = 2,
bool Frame_Lab =
true)
const;
147 TGraph*
RutherfordVsTheta(
double thmin = 1.0,
double thmax = 179.0,
int part = 2,
bool Frame_Lab =
true,
bool Units_mb =
true)
const;
149 void Print(Option_t* opt =
"")
const override;
150 void Clear(Option_t* opt =
"")
override;
TGraph * OmegaVsTheta(double thmin=0.0, double thmax=180.0, int part=2, bool Frame_Lab=true) const
TGraph * KinVsTheta(double thmin=0.0, double thmax=180.0, int part=2, bool Frame_Lab=true, bool Units_keV=true) const
double ConvertThetaLabToCm(double theta_lab, int part=2) const
double GetVLabFromThetaCm(double theta_cm=0.0, int part=0) const
void ConvertCmToLab(double theta_cm, double omega_cm, double &theta_lab, double &omega_lab, int part=2) const
double AnalysisBeta(double ekin, int part) const
double GetELabFromThetaCm(double theta_cm=0.0, int part=0) const
double GetGCm(int part) const
void Clear(Option_t *opt="") override
double GetELab(double theta_lab=0.0, int part=0) const
double ConvertThetaCmToLab(double theta_cm, int part=2) const
double GetTLab(double theta_lab=0.0, int part=0) const
double GetTBeam(bool inverse) const
double ConvertOmegaLabToCm(double theta_lab, int part=2) const
double GetGLab(double theta_lab=0.0, int part=0) const
double GetInvariantMass() const
double GetTCm(int part) const
double GetPLabFromThetaCm(double theta_cm=0.0, int part=0) const
void Print(Option_t *opt="") const override
const char * GetNameFull() const
TReaction(const char *beam, const char *targ, const char *ejec, const char *reco, double eBeam=0.0, double ex3=0.0, bool inverse=false)
TGraph * RutherfordVsTheta(double thmin=1.0, double thmax=179.0, int part=2, bool Frame_Lab=true, bool Units_mb=true) const
void ConvertLabToCm(double theta_lab, double omega_lab, double &theta_cm, double &omega_cm, int part=2) const
void AnalysisAngDist(double ekin, double theta_lab, int part, double &exc, double &theta_cm, double &omega_lab2cm)
double GetThetaMax(int part) const
TNucleus * GetNucleus(int part) const
TGraph * ThetaVsTheta(double thmin=0.0, double thmax=180.0, int part=2, bool Frame_Lab=true) const
double GetRutherfordCm(double theta_cm, int part=2, bool Units_mb=true) const
double ConvertOmegaCmToLab(double theta_cm, int part=2) const
double GetGLabFromThetaCm(double theta_cm=0.0, int part=0) const
double GetM(int part) const
double GetPCm(int part) const
void SetExcEnergy(double exc)
double GetRutherfordLab(double theta_lab, int part=2, bool Units_mb=true) const
double GetPLab(double theta_lab=0.0, int part=0) const
void SetCmFrame(double exc)
double GetExcEnergy(double ekin=0.00, double theta_lab=0.00, int part=2) const
double GetVLab(double theta_lab=0.0, int part=0) const
double GetVCm(int part) const
double GetTLabFromThetaCm(double theta_cm=0.0, int part=0) const
double GetECm(int part) const