275 Warning(
"GetCMGamma",
"1 - (beta)**2 = %f ... strange!",
gamma);
299 if (
TMath::Abs(OfNucleus - OtherNucleus) % 2)
return 180. - theta;
#define ClassDef(name, id)
Relativistic binary kinematics calculator.
Double_t XSecRuthLabInt(Double_t *, Double_t *)
Double_t TETAMIN[5]
defined only for nuclei 3 et 4
Double_t eqbm_charge_state_shiwietz_gas(Double_t *t, Double_t *)
Double_t VC[5]
cm velocities
void SetTarget(const KVNucleus &)
Set target for reaction.
TF1 * GetEqbmChargeStateFunc() const
TF1 * GetXSecRuthLabFunc(Int_t OfNucleus=3, Double_t theta_min=1., Double_t theta_max=179.) const
Double_t K[5]
ratio of c.m. velocity to velocity of nucleus in c.m. v_cm/v_i_cm
Double_t GetMaxAngleLab(Int_t i) const
std::vector< KVNucleus > fNuclei
nuclei involved in calculation
void Print(Option_t *opt="") const
TF1 * GetXSecRuthLabIntegralFunc(Int_t OfNucleus=3, Double_t theta_min=1., Double_t theta_max=179.) const
void SetIntegralPrecision(Double_t precision)
Double_t WCT
total cm energy
void SetEDiss(Double_t ex)
Double_t GetIntegralPrecision()
Double_t GetSphereDureReactionXSec(Double_t r0=1.05)
Double_t ELabVsThetaLab(Double_t *, Double_t *)
Function calculating lab energy of nucleus par[0] for any lab angle x[0].
TF1 * fThetaLabVsThetaCM[5]
void SetExcitEnergy(Double_t ex)
Double_t GetMinAngleLab(Int_t i) const
Double_t GetThetaLab(Double_t ThetaCM, Int_t OfNucleus) const
void SetProjectile(const KVNucleus &)
Set projectile for reaction.
Double_t fIntPrec
Precision of the TF1::Integral method.
Double_t GetXSecRuthLab(Double_t ThetaLab_Proj, Int_t OfNucleus=3) const
Double_t GetQReaction() const
Calculate Q-value for reaction, including dissipated (excitation) energy.
Double_t GetThetaCM(Int_t OfNucleus, Double_t theta, Int_t OtherNucleus) const
TF1 * fEqbmChargeStateShSol
function equilibrium charge state of projectile vs. E/A projectile (Shiwietz et al solid)
Double_t EqbmChargeState(Double_t *t, Double_t *)
TF1 * GetThetaLabVsThetaCMFunc(Int_t OfNucleus) const
void SetOutgoing(const KVNucleus &proj_out)
TF1 * fKoxReactionXSec
function Kox reaction cross-section [barns] vs. E/A projectile
TF1 * GetELabVsThetaCMFunc(Int_t OfNucleus) const
Double_t XSecRuthCM(Double_t *, Double_t *)
TF1 * GetShiwietzEqbmChargeStateFuncForGasTargets() const
Double_t XSecRuthLab(Double_t *, Double_t *)
TF1 * GetKoxReactionXSecFunc() const
Double_t BCM
beta of centre of mass
TF1 * fEqbmChargeStateShGas
function equilibrium charge state of projectile vs. E/A projectile (Shiwietz et al gas)
Double_t GetELab(Double_t ThetaCM, Int_t OfNucleus) const
Int_t FindRoots(TF1 *, Double_t, Double_t, Double_t, Double_t &, Double_t &) const
Double_t GetEDiss() const
static Double_t GetVelocity(Double_t mass, Double_t E)
Double_t GetIntegratedXSecRuthLab(Float_t th1, Float_t th2, Float_t phi1=-1, Float_t phi2=-1, Int_t OfNucleus=3)
Double_t GetBmaxFromReactionXSec(Double_t ReacXsec)
TVector3 VCM
velocity of centre of mass
Double_t KoxReactionXSec(Double_t *, Double_t *)
Double_t ELabVsThetaCM(Double_t *, Double_t *)
Function calculating lab energy of nucleus par[0] for any CM angle x[0].
Double_t ThetaLabVsThetaCM(Double_t *, Double_t *)
Double_t GetCMGamma() const
Double_t TETAMAX[5]
defined only for nuclei 3 et 4
Bool_t fSetOutgoing
= kTRUE if SetOutgoing is called before CalculateKinematics
Double_t WC[5]
cm energy of each nucleus
TF1 * fXSecRuthLabIntegral[5]
Double_t EC[5]
cm energies
Double_t GetExcitEnergy() const
Double_t GetMinThetaCMFromThetaLab(Int_t OfNucleus, Double_t theta, Int_t OtherNucleus) const
Double_t WLT
total lab energy
Int_t GetVLab(Int_t OfNucleus, Double_t ThetaLab, Int_t AngleNucleus, Double_t &e1, Double_t &e2) const
Double_t BassIntBarrier()
TVector3 GetCMVelocity() const
Return vector velocity of centre of mass of reaction (units: cm/ns)
void CalculateKinematics()
void init()
Default initialisations.
Double_t GetIntegratedXsec(Double_t b1, Double_t b2)
Double_t GetLabGrazingAngle(Int_t i=1) const
Double_t GetQGroundStates() const
Calculate Q-value for reaction, assuming all nuclei in ground state.
KVNucleus * GetNucleus(Int_t i) const
Double_t XSecRuthCMVsThetaCM(Double_t *, Double_t *)
Double_t GetCMEnergy() const
Return available kinetic energy in centre of mass.
TF1 * fEqbmChargeState
function equilibrium charge state of projectile vs. E/A projectile (Leon et al)
Double_t eqbm_charge_state_shiwietz_solid(Double_t *t, Double_t *)
Double_t GetXSecRuthCM(Double_t ThetaLab_Proj, Int_t OfNucleus=3) const
Double_t fEDiss
dissipated energy, 0 means elastic scattering
Int_t GetThetaCM(Double_t ThetaLab, Int_t OfNucleus, Double_t &t1, Double_t &t2) const
TF1 * GetShiwietzEqbmChargeStateFuncForSolidTargets() const
TF1 * GetELabVsThetaLabFunc(Int_t OfNucleus) const
Base class for KaliVeda framework.
Description of properties and kinematics of atomic nuclei.
virtual Double_t Eval(Double_t x, Double_t y=0, Double_t z=0, Double_t t=0) const
virtual void Warning(const char *method, const char *msgfmt,...) const
Double_t Power(Double_t x, Double_t y)
Double_t Sqrt(Double_t x)