CRXS  1.0
Comic Ray Cross Section Tools
 All Classes Namespaces Functions Variables Pages
Static Public Member Functions | Static Public Attributes | List of all members
CRXS::XS Class Reference

Static Public Member Functions

static bool convert_LAB_to_CM (const double T_p_LAB, const double T_prod_LAB, const double eta_LAB, double &s, double &E_prod, double &pT_prod, double &x_F, int product=P_BAR)
 Convert LAB frame kinetic variable to the CM frame. (The LAB frame is the ISM rest frame.) More...
 
static double inv_AA_pbar_CM (double s, double xF, double pT_pbar, int A_projectile, int N_projectile, int A_target, int N_target, int parametrization)
 Invariant antiproton production cross section for general projectile and target nucleus for different XS parametrization. More...
 
static double inv_AA_pbar_LAB (double Tn_proj_LAB, double T_pbar_LAB, double eta_LAB, int A_projectile, int N_projectile, int A_target, int N_target, int parametrization)
 Invariant antiproton production cross section for general projectile and target nucleus for different XS parametrization as function of LAB frame kinetic variables. More...
 
static double dE_AA_pbar_LAB (double Tn_proj_LAB, double T_pbar_LAB, int A_projectile=1, int N_projectile=0, int A_target=1, int N_target=0, int parametrization=KORSMEIER_II)
 Energy-differential antiproton production cross section for general projectile and target nucleus for different XS parametrization as function of LAB frame kinetic variables. More...
 
static double integrand__dE_AA_pbar_LAB (double eta_LAB, void *parameters)
 Helper function for dE_AA_pbar_LAB.
 
static double dE_AA_pbar_LAB_incNbarAndHyperon (double Tn_proj_LAB, double T_pbar_LAB, int A_projectile=1, int N_projectile=0, int A_target=1, int N_target=0, int parametrization=KORSMEIER_II)
 Energy-differential antiproton production cross section including antineutrons and antihyperons for general projectile and target nucleus and for different XS parametrization as function of LAB frame kinetic variables. This cross section is integrated over all angles. More...
 
static double inv_AA_p_CM (double s, double xF, double pT_p, int A_projectile, int N_projectile, int A_target, int N_target, int parametrization)
 Invariant proton production cross section for general projectile and target nucleus for different XS parametrization. More...
 
static double inv_AA_p_LAB (double Tn_proj_LAB, double T_p_LAB, double eta_LAB, int A_projectile, int N_projectile, int A_target, int N_target, int parametrization)
 Invariant proton production cross section for general projectile and target nucleus for different XS parametrization as function of LAB frame kinetic variables. More...
 
static double dE_AA_p_LAB (double Tn_proj_LAB, double T_p_LAB, int A_projectile=1, int N_projectile=0, int A_target=1, int N_target=0, int parametrization=ANDERSON)
 Energy-differential proton production cross section for general projectile and target nucleus for different XS parametrization as function of LAB frame kinetic variables. More...
 
static double integrand__dE_AA_p_LAB (double eta_LAB, void *parameters)
 Helper function for dE_AA_p_LAB.
 
static double p_coal__VonDoetinchen (double s)
 Invariant antideuteron production cross section for general projectile and target nucleus for different XS parametrization. More...
 
static double p_coal__pTdep (double pToverA, double p0_val=0.160)
 Function for getting the coalescence momentum using a rescaling with PT. More...
 
static double inv_AA_Dbar_CM (double s, double xF_Dbar, double pT_Dbar, int A_projectile, int N_projectile, int A_target, int N_target, int parametrization, int coalescence, double p0_val=0.160)
 Invariant antideuteron production cross section for general projectile and target nucleus for different XS parametrization. More...
 
static double inv_AA_Dbar_LAB (double Tn_proj_LAB, double Tn_Dbar_LAB, double eta_LAB, int A_projectile, int N_projectile, int A_target, int N_target, int parametrization, int coalescence, double p0_val=0.160)
 Invariant antideuteron production cross section for general projectile and target nucleus for different XS parametrization as function of LAB frame kinetic variables. More...
 
static double integrand__dE_AA_Dbar_LAB (double eta_LAB, void *parameters)
 Helper function for inv_AA_Dbar_LAB.
 
static double dEn_AA_Dbar_LAB (double Tn_proj_LAB, double Tn_Dbar_LAB, int A_projectile=1, int N_projectile=0, int A_target=1, int N_target=0, int parametrization=KORSMEIER_II, int coalescence=ENERGY_DEP__VAN_DOETINCHEM, double p0_val=0.160)
 Energy-differential antideuteron production cross section for general projectile and target nucleus for different XS parametrization as function of LAB frame kinetic variables. The cross section contains the contribution from antineutrons and antihyperons. In the case of DI_MAURO parametrizations the antihyperon contribution is set to 0. The nuclear scaling for AA initial states is done as explained in XS_definitions::factor__AA. More...
 
static double dEn_DbarA_Dbar_LAB (double Tn_Dbar_proj_LAB, double Tn_Dbar_prod_LAB, int A_target=1, int N_target=0, int parametrization=ANDERSON)
 Energy-differential antideuteron cross section for non-annihilating antideuteron reactions on p, A. More...
 
static double inv_AA_He3bar_CM (double s, double xF_Hebar, double pT_Hebar, int A_projectile, int N_projectile, int A_target, int N_target, int parametrization, int coalescence, double p0_val=0.160)
 Invariant antihelion production cross section for general projectile and target nucleus for different XS parametrization. More...
 
static double inv_AA_He3bar_LAB (double Tn_proj_LAB, double Tn_Hebar_LAB, double eta_LAB, int A_projectile, int N_projectile, int A_target, int N_target, int parametrization, int coalescence, double p0_val=0.160)
 Invariant antihelion production cross section for general projectile and target nucleus for different XS parametrization as function of LAB frame kinetic variables. More...
 
static double integrand__dE_AA_He3bar_LAB (double eta_LAB, void *parameters)
 Helper function for inv_AA_Hebar_LAB.
 
static double dEn_AA_He3bar_LAB (double Tn_proj_LAB, double Tn_Hebar_LAB, int A_projectile=1, int N_projectile=0, int A_target=1, int N_target=0, int parametrization=KORSMEIER_II, int coalescence=ENERGY_DEP__VAN_DOETINCHEM, double p0_val=0.160)
 Energy-differential antihelion production cross section for general projectile and target nucleus for different XS parametrization as function of LAB frame kinetic variables. The cross section contains the contribution from antineutrons and antihyperons. In the case of DI_MAURO parametrizations the antihyperon contribution is set to 0. The nuclear scaling for AA initial states is done as explained in XS_definitions::factor__AA. More...
 
static double dEn_He3barA_He3bar_LAB (double Tn_Hebar_proj_LAB, double Tn_Hebar_prod_LAB, int A_target=1, int N_target=0, int parametrization=ANDERSON)
 Energy-differential antihelion cross section for non-annihilating antihelion reactions on p, A. More...
 
static double inv_AA_He4bar_CM (double s, double xF_Hebar, double pT_Hebar, int A_projectile, int N_projectile, int A_target, int N_target, int parametrization, int coalescence, double p0_val=0.160)
 Invariant antihelion production cross section for general projectile and target nucleus for different XS parametrization. More...
 
static double inv_AA_He4bar_LAB (double Tn_proj_LAB, double Tn_Hebar_LAB, double eta_LAB, int A_projectile, int N_projectile, int A_target, int N_target, int parametrization, int coalescence, double p0_val=0.160)
 Invariant antihelion production cross section for general projectile and target nucleus for different XS parametrization as function of LAB frame kinetic variables. More...
 
static double integrand__dE_AA_He4bar_LAB (double eta_LAB, void *parameters)
 Helper function for inv_AA_Hebar_LAB.
 
static double dEn_AA_He4bar_LAB (double Tn_proj_LAB, double Tn_Hebar_LAB, int A_projectile=1, int N_projectile=0, int A_target=1, int N_target=0, int parametrization=KORSMEIER_II, int coalescence=ENERGY_DEP__VAN_DOETINCHEM, double p0_val=0.160)
 Energy-differential antihelion production cross section for general projectile and target nucleus for different XS parametrization as function of LAB frame kinetic variables. The cross section contains the contribution from antineutrons and antihyperons. In the case of DI_MAURO parametrizations the antihyperon contribution is set to 0. The nuclear scaling for AA initial states is done as explained in XS_definitions::factor__AA. More...
 
static double dEn_He4barA_He4bar_LAB (double Tn_Hebar_proj_LAB, double Tn_Hebar_prod_LAB, int A_target=1, int N_target=0, int parametrization=ANDERSON)
 Energy-differential antihelion cross section for non-annihilating antihelion reactions on p, A. More...
 
static void Set_SELF_C_parameters_diMauro (double *C)
 Function to set the parameter values of the di Mauro parametrization yourself. More...
 
static void Set_SELF_C_parameters_Winkler (double *C)
 Function to set the parameter values of the Winkler parametrization yourself. More...
 
static void Set_SELF_D_parameters_diMauro (double *D)
 Function to set the parameter values of the di Mauro parametrization yourself. More...
 
static void Set_SELF_D_parameters_Winkler (double *D)
 Function to set the parameter values of the Winkler parametrization yourself. More...
 
static void SetRestricted_pp (bool is_pp)
 
static bool isInRestricted_CM (double s, double xf, double pT)
 
static void SetRestrictedParameterSpace_CM (double s, double xf, double pT)
 
static void RemoveRestrictedParameterSpace_CM ()
 
static bool isInRestricted_LAB (double Tp, double Tpbar, double eta)
 
static void SetRestrictedParameterSpace_LAB (double Tp, double Tpbar, double eta)
 
static void RemoveRestrictedParameterSpace_LAB ()
 

Static Public Attributes

static bool fIsRestricted_pp = false
 
static int fRestrictedParameterSpace_CM = 0
 
static double fRestrictedParameterSpace_CM__s [103] ={0}
 
static double fRestrictedParameterSpace_CM__xf [103] ={0}
 
static double fRestrictedParameterSpace_CM__pT [103] ={0}
 
static int fRestrictedParameterSpace_LAB = 0
 
static double fRestrictedParameterSpace_LAB__Tp [103] ={0}
 
static double fRestrictedParameterSpace_LAB__Tpbar [103] ={0}
 
static double fRestrictedParameterSpace_LAB__eta [103] ={0}
 

Member Function Documentation

bool CRXS::XS::convert_LAB_to_CM ( const double  T_p_LAB,
const double  T_prod_LAB,
const double  eta_LAB,
double &  s,
double &  E_prod,
double &  pT_prod,
double &  x_F,
int  product = P_BAR 
)
static

Convert LAB frame kinetic variable to the CM frame. (The LAB frame is the ISM rest frame.)

Parameters
doubleTn_proj_LAB Kinetic energy per nucleus of the prjectile (in the LAB frame)
doulbeT_prod_LAB Kinetic energy of the product (in the LAB frame)
doulbeeta_LAB Pseudo rapidity of the product (in the LAB frame)
doulbe&s Returns: CM energy
doulbe&E_prod Returns: Antiproton (total) energy
doulbe&pT_prod Returns: Product transverse momentum
doulbe&x_F Returns: Product Feynman scaling variable
intproduct Product (from enum [P_BAR, D_BAR, HE_BAR])
Returns
bool True if conversion successful
double CRXS::XS::dE_AA_p_LAB ( double  Tn_proj_LAB,
double  T_p_LAB,
int  A_projectile = 1,
int  N_projectile = 0,
int  A_target = 1,
int  N_target = 0,
int  parametrization = ANDERSON 
)
static

Energy-differential proton production cross section for general projectile and target nucleus for different XS parametrization as function of LAB frame kinetic variables.

This cross section is integrated over all angles.

Parameters
doubleTn_proj_LAB Kinetic energy per nucleus of the prjectile (in the LAB frame)
doulbeT_p_LAB Kinetic energy of the proton (in the LAB frame)
intA_projectile Mass number of the projectile
intN_projectile Number of neutrons in the projectile
intA_target Mass number of the target
intN_target Number of neutrons in the target
intparametrization Cross section parametrization, enum from[ANDERSON]
Returns
double XS Cross section in mbarn/GeV
double CRXS::XS::dE_AA_pbar_LAB ( double  Tn_proj_LAB,
double  T_pbar_LAB,
int  A_projectile = 1,
int  N_projectile = 0,
int  A_target = 1,
int  N_target = 0,
int  parametrization = KORSMEIER_II 
)
static

Energy-differential antiproton production cross section for general projectile and target nucleus for different XS parametrization as function of LAB frame kinetic variables.

This cross section is integrated over all angles.

Parameters
doubleTn_proj_LAB Kinetic energy per nucleus of the prjectile (in the LAB frame)
doulbeT_pbar_LAB Kinetic energy of the antiproton (in the LAB frame)
intA_projectile Mass number of the projectile
intN_projectile Number of neutrons in the projectile
intA_target Mass number of the target
intN_target Number of neutrons in the target
intparametrization Cross section parametrization, enum from[KORSMEIER_II (default), KORSMEIER_I, WINKLER, DI_MAURO_I, DI_MAURO_II, WINKLER_SELF, DI_MAURO_SELF]
Returns
double XS Cross section in mbarn/GeV
double CRXS::XS::dE_AA_pbar_LAB_incNbarAndHyperon ( double  Tn_proj_LAB,
double  T_pbar_LAB,
int  A_projectile = 1,
int  N_projectile = 0,
int  A_target = 1,
int  N_target = 0,
int  parametrization = KORSMEIER_II 
)
static

Energy-differential antiproton production cross section including antineutrons and antihyperons for general projectile and target nucleus and for different XS parametrization as function of LAB frame kinetic variables. This cross section is integrated over all angles.

Depending on the parametrization, taken from: Korsmeier, et al.; 2018; Production cross sections of cosmic antiprotons in the light of new data from the NA61 and LHCb experiments; DOI: 10.1103/PhysRevD.97.103019

taken from: Winkler, M. W.; 2017; Cosmic Ray Antiprotons at High Energies; arXiv:1701.04866

For di Mauro we apply a global factor 2.3 instead.

In the case of di Mauro parametrizations the antihyperon contribution is set to 0. The nuclear scaling for AA initial states is done as explained in XS_definitions::factor__AA.

Parameters
doubleTn_proj_LAB Kinetic energy per nucleus of the prjectile (in the LAB frame)
doulbeT_pbar_LAB Kinetic energy of the antiproton (in the LAB frame)
intA_projectile Mass number of the projectile
intN_projectile Number of neutrons in the projectile
intA_target Mass number of the target
intN_target Number of neutrons in the target
intparametrization Cross section parametrization, enum from[KORSMEIER_II (default), KORSMEIER_I, WINKLER, DI_MAURO_I, DI_MAURO_II, WINKLER_SELF, DI_MAURO_SELF]
Returns
double XS Cross section in mbarn/GeV
double CRXS::XS::dEn_AA_Dbar_LAB ( double  Tn_proj_LAB,
double  Tn_Dbar_LAB,
int  A_projectile = 1,
int  N_projectile = 0,
int  A_target = 1,
int  N_target = 0,
int  parametrization = KORSMEIER_II,
int  coalescence = ENERGY_DEP__VAN_DOETINCHEM,
double  p0_val = 0.160 
)
static

Energy-differential antideuteron production cross section for general projectile and target nucleus for different XS parametrization as function of LAB frame kinetic variables. The cross section contains the contribution from antineutrons and antihyperons. In the case of DI_MAURO parametrizations the antihyperon contribution is set to 0. The nuclear scaling for AA initial states is done as explained in XS_definitions::factor__AA.

This cross section is integrated over all angles.

Parameters
doubleTn_proj_LAB Kinetic energy per nucleus of the prjectile (in the LAB frame)
doulbeTn_Dbar_LAB Kinetic energy per nucleus of the antideuteron (in the LAB frame)
intA_projectile Mass number of the projectile, if A_projectile is negative we use an antiproton as projectile
intN_projectile Number of neutrons in the projectile
intA_target Mass number of the target
intN_target Number of neutrons in the target
intparametrization Cross section parametrization, enum from[KORSMEIER_II (default), KORSMEIER_I, WINKLER, DI_MAURO_I, DI_MAURO_II]
intcoalescence Coalescence model, enum from[FIXED_P0 (default), ENERGY_DEP__VAN_DOETINCHEM], cf. inv_AA_Dbar_CM
intp0_val. Coalescence momentum in GeV
Returns
double XS Cross section in mbarn/GeV
double CRXS::XS::dEn_AA_He3bar_LAB ( double  Tn_proj_LAB,
double  Tn_Hebar_LAB,
int  A_projectile = 1,
int  N_projectile = 0,
int  A_target = 1,
int  N_target = 0,
int  parametrization = KORSMEIER_II,
int  coalescence = ENERGY_DEP__VAN_DOETINCHEM,
double  p0_val = 0.160 
)
static

Energy-differential antihelion production cross section for general projectile and target nucleus for different XS parametrization as function of LAB frame kinetic variables. The cross section contains the contribution from antineutrons and antihyperons. In the case of DI_MAURO parametrizations the antihyperon contribution is set to 0. The nuclear scaling for AA initial states is done as explained in XS_definitions::factor__AA.

This cross section is integrated over all angles.

Parameters
doubleTn_proj_LAB Kinetic energy per nucleus of the prjectile (in the LAB frame)
doulbeTn_Hebar_LAB Kinetic energy per nucleus of the antihelion (in the LAB frame)
intA_projectile Mass number of the projectile, if A_projectile is negative we use an antiproton as projectile
intN_projectile Number of neutrons in the projectile
intA_target Mass number of the target
intN_target Number of neutrons in the target
intparametrization Cross section parametrization, enum from[KORSMEIER_II (default), KORSMEIER_I, WINKLER, DI_MAURO_I, DI_MAURO_II]
intcoalescence Coalescence model, enum from[FIXED_P0 (default), ENERGY_DEP__VAN_DOETINCHEM], cf. inv_AA_Dbar_CM
intp0_val. Coalescence momentum in GeV
Returns
double XS Cross section in mbarn/GeV
double CRXS::XS::dEn_AA_He4bar_LAB ( double  Tn_proj_LAB,
double  Tn_Hebar_LAB,
int  A_projectile = 1,
int  N_projectile = 0,
int  A_target = 1,
int  N_target = 0,
int  parametrization = KORSMEIER_II,
int  coalescence = ENERGY_DEP__VAN_DOETINCHEM,
double  p0_val = 0.160 
)
static

Energy-differential antihelion production cross section for general projectile and target nucleus for different XS parametrization as function of LAB frame kinetic variables. The cross section contains the contribution from antineutrons and antihyperons. In the case of DI_MAURO parametrizations the antihyperon contribution is set to 0. The nuclear scaling for AA initial states is done as explained in XS_definitions::factor__AA.

This cross section is integrated over all angles.

Parameters
doubleTn_proj_LAB Kinetic energy per nucleus of the prjectile (in the LAB frame)
doulbeTn_Hebar_LAB Kinetic energy per nucleus of the antihelion (in the LAB frame)
intA_projectile Mass number of the projectile, if A_projectile is negative we use an antiproton as projectile
intN_projectile Number of neutrons in the projectile
intA_target Mass number of the target
intN_target Number of neutrons in the target
intparametrization Cross section parametrization, enum from[KORSMEIER_II (default), KORSMEIER_I, WINKLER, DI_MAURO_I, DI_MAURO_II]
intcoalescence Coalescence model, enum from[FIXED_P0 (default), ENERGY_DEP__VAN_DOETINCHEM], cf. inv_AA_Dbar_CM
intp0_val. Coalescence momentum in GeV
Returns
double XS Cross section in mbarn/GeV
double CRXS::XS::dEn_DbarA_Dbar_LAB ( double  Tn_Dbar_proj_LAB,
double  Tn_Dbar_prod_LAB,
int  A_target = 1,
int  N_target = 0,
int  parametrization = ANDERSON 
)
static

Energy-differential antideuteron cross section for non-annihilating antideuteron reactions on p, A.

This cross section is integrated over all angles.

There are two standard ways to approximated this cross section which has never been measured. The energy-differential shape of the XS is either approximated by a the p+p->p+X reaction or or taken to be flat. In any case the cross section is normalized to the non-annihilating XS of pbar+D->D+X (see XS_definitions::nar_pbarD).

Parameters
doulbeTn_Dbar_proj_LAB Kinetic energy per nucleus of the projectile antideuteron (in the LAB frame)
doubleTn_Dbar_prod_LAB Kinetic energy per nucleus of the product antideuteron (in the LAB frame)
intA_target Mass number of the target
intN_target Number of neutrons in the target
intparametrization Way to approximate the cross section parametrization [ANDERSON, APPROX_1_OVER_T]
Returns
double XS Cross section in mbarn/GeV
double CRXS::XS::dEn_He3barA_He3bar_LAB ( double  Tn_Hebar_proj_LAB,
double  Tn_Hebar_prod_LAB,
int  A_target = 1,
int  N_target = 0,
int  parametrization = ANDERSON 
)
static

Energy-differential antihelion cross section for non-annihilating antihelion reactions on p, A.

This cross section is integrated over all angles.

There are two standard ways to approximated this cross section which has never been measured. The energy-differential shape of the XS is either approximated by a the p+p->p+X reaction or or taken to be flat. In any case the cross section is normalized to the non-annihilating XS of pbar+He->He+X (see XS_definitions::nar_pbarD).

Parameters
doulbeTn_Hebar_proj_LAB Kinetic energy per nucleus of the projectile antihelion (in the LAB frame)
doubleTn_Hebar_prod_LAB Kinetic energy per nucleus of the product antihelion (in the LAB frame)
intA_target Mass number of the target
intN_target Number of neutrons in the target
intparametrization Way to approximate the cross section parametrization [ANDERSON, APPROX_1_OVER_T]
Returns
double XS Cross section in mbarn/GeV
double CRXS::XS::dEn_He4barA_He4bar_LAB ( double  Tn_Hebar_proj_LAB,
double  Tn_Hebar_prod_LAB,
int  A_target = 1,
int  N_target = 0,
int  parametrization = ANDERSON 
)
static

Energy-differential antihelion cross section for non-annihilating antihelion reactions on p, A.

This cross section is integrated over all angles.

There are two standard ways to approximated this cross section which has never been measured. The energy-differential shape of the XS is either approximated by a the p+p->p+X reaction or or taken to be flat. In any case the cross section is normalized to the non-annihilating XS of pbar+He->He+X (see XS_definitions::nar_pbarD).

Parameters
doulbeTn_Hebar_proj_LAB Kinetic energy per nucleus of the projectile antihelion (in the LAB frame)
doubleTn_Hebar_prod_LAB Kinetic energy per nucleus of the product antihelion (in the LAB frame)
intA_target Mass number of the target
intN_target Number of neutrons in the target
intparametrization Way to approximate the cross section parametrization [ANDERSON, APPROX_1_OVER_T]
Returns
double XS Cross section in mbarn/GeV
double CRXS::XS::inv_AA_Dbar_CM ( double  s,
double  xF_Dbar,
double  pT_Dbar,
int  A_projectile,
int  N_projectile,
int  A_target,
int  N_target,
int  parametrization,
int  coalescence,
double  p0_val = 0.160 
)
static

Invariant antideuteron production cross section for general projectile and target nucleus for different XS parametrization.

We calculat the cross section in the analytic coalescence model. With the formula:



           3                                                   3                   3
          d    sigma                m               3         d  sigma            d  sigma
           dbar               1      D    4pi  pcoal                  pbar                nbar
  E      ------------  =  -------- -----  ---  ------   E     ------------  E     ------------
   dbar       3           sigmaTot m  m    3      1      pbar      3         nbar      3
            dk                      p  n                         dk                  dk
              dbar                                                 pbar                nbar

  with:

   3              3                 /   3                        3                                                              \
  d  sigma       d  sigma           |  d  sigma                 d  sigma                                                        |
          pbar           nbar     1 |          pbar                     nbar                                                    |
  ------------   ------------  =  - |  ------------(sS, vk    ) ------------ (sS - 2E    , vk    )  +  ({pbar} < - > {nbar})    |
       3              3           2 |       3             pbar       3               pbar    nbar                               |
     dk             dk              |     dk                       dk                                                           |
       pbar           nbar          \       pbar                     nbar                                                       /


The parameter p_coal is defined as abs(p_proton - p_neutron).

There are two options for the coalesence momentum (cf. to option \param int coalescence):

    1) Fixed to 80 MeV, which is the value tuned to the aleph experiment. If you prefer a different (fixed) value
       you can rescale the whole XS with (p_coal/80 MeV)^3.
    2) The energy-dependent coalescence momentum suggested in DOI 10.1103/PhysRevD.98.023012.
    3) A coalescence momentum that changes with transverse momentum as found in https://doi.org/10.1140/epjc/s10052-020-8256-4.

We recommend option 2)

The parameter p_coal is defined as abs(p_proton - p_neutron).


If the massnumber \param int A_projectile is set to -1 we assume an antiproton projectile. In this case
the antiproton production cross section is replaced and approximated by the cross section from
            Anderson, et al.; 1967;
            PROTON AND PION SPECTRA FROM PROTON-PROTON INTERACTIONS AT 10, 20, AND 30 BeV/c*;
            DOI: https://doi.org/10.1103/PhysRevLett.19.198 .
The assumption is that the "p p -> p" XS is equal to the "pbar p -> pbar" XS.

The cross section contains the contribution from antineutrons and antihyperons.
In the case of DI_MAURO parametrizations the antihyperon contribution is set to 0.
The nuclear scaling for AA initial states is done as explained in XS_definitions::factor__AA.
Parameters
doubles CM energy, squared (in the nucleon-nucleon frame).
doulbexF Feynman scaling (2*pL_pbar/sqrt(s) in CMF, i.e. the nucleon-nucleon frame)
doulbepT_Dbar Transverse momentum of the antideuteron
intA_projectile Mass number of the projectile, if A_projectile is negative we use an antiproton as projectile
intN_projectile Number of neutrons in the projectile
intA_target Mass number of the target
intN_target Number of neutrons in the target
intparametrization Cross section parametrization, enum from[KORSMEIER_II (default), KORSMEIER_I, WINKLER, DI_MAURO_I, DI_MAURO_II]
intcoalescence Coalescence model, enum from[FIXED_P0 (default), ENERGY_DEP__VAN_DOETINCHEM]
intp0_val. Coalescence momentum in GeV
Returns
double XS Cross section in mbarn/GeV^2
double CRXS::XS::inv_AA_Dbar_LAB ( double  Tn_proj_LAB,
double  Tn_Dbar_LAB,
double  eta_LAB,
int  A_projectile,
int  N_projectile,
int  A_target,
int  N_target,
int  parametrization,
int  coalescence,
double  p0_val = 0.160 
)
static

Invariant antideuteron production cross section for general projectile and target nucleus for different XS parametrization as function of LAB frame kinetic variables.

Parameters
doubleTn_proj_LAB Kinetic energy per nucleus of the prjectile (in the LAB frame)
doulbeTn_Dbar_LAB Kinetic energy of the antideuteron (in the LAB frame)
doulbeeta_LAB Pseudo rapidity of the antideuteron (in the LAB frame)
intA_projectile Mass number of the projectile, if A_projectile is negative we use an antiproton as projectile
intN_projectile Number of neutrons in the projectile
intA_target Mass number of the target
intN_target Number of neutrons in the target
intparametrization Cross section parametrization [Korsmeier_II (default), Korsmeier_I, Winkler, diMauro_I, diMauro_II]
intcoalescence Coalescence model, enum from[FIXED_P0 (default), ENERGY_DEP__VAN_DOETINCHEM], cf. inv_AA_Dbar_CM
intp0_val. Coalescence momentum in GeV
Returns
double XS Cross section in mbarn/GeV^2
double CRXS::XS::inv_AA_He3bar_CM ( double  s,
double  xF_Hebar,
double  pT_Hebar,
int  A_projectile,
int  N_projectile,
int  A_target,
int  N_target,
int  parametrization,
int  coalescence,
double  p0_val = 0.160 
)
static

Invariant antihelion production cross section for general projectile and target nucleus for different XS parametrization.

We calculat the cross section in the analytic coalescence model. With the formula:

The parameter p_coal is defined as abs(p_proton - p_neutron).

There are three options for the coalesence momentum (cf. to option \param int coalescence):

    1) Fixed to 80 MeV, which is the value tuned to the aleph experiment. If you prefer a different (fixed) value
       you can rescale the whole XS with (p_coal/80 MeV)^3.
    2) The energy-dependent coalescence momentum suggested in DOI 10.1103/PhysRevD.98.023012.
    3) A coalescence momentum that changes with transverse momentum as found in https://doi.org/10.1140/epjc/s10052-020-8256-4.

We recommend option 2)


If the massnumber \param int A_projectile is set to -1 we assume an antiproton projectile. In this case
the antiproton production cross section is replaced and approximated by the cross section from
            Anderson, et al.; 1967;
            PROTON AND PION SPECTRA FROM PROTON-PROTON INTERACTIONS AT 10, 20, AND 30 BeV/c*;
            DOI: https://doi.org/10.1103/PhysRevLett.19.198 .
The assumption is that the "p p -> p" XS is equal to the "pbar p -> pbar" XS.

The cross section contains the contribution from antineutrons and antihyperons.
In the case of DI_MAURO parametrizations the antihyperon contribution is set to 0.
The nuclear scaling for AA initial states is done as explained in XS_definitions::factor__AA.
Parameters
doubles CM energy, squared (in the nucleon-nucleon frame).
doulbexF Feynman scaling (2*pL_pbar/sqrt(s) in CMF, i.e. the nucleon-nucleon frame)
doulbepT_Hebar Transverse momentum of the antihelion
intA_projectile Mass number of the projectile, if A_projectile is negative we use an antiproton as projectile
intN_projectile Number of neutrons in the projectile
intA_target Mass number of the target
intN_target Number of neutrons in the target
intparametrization Cross section parametrization, enum from[KORSMEIER_II (default), KORSMEIER_I, WINKLER, DI_MAURO_I, DI_MAURO_II]
intcoalescence Coalescence model, enum from[FIXED_P0 (default), ENERGY_DEP__VAN_DOETINCHEM]
intp0_val. Coalescence momentum in GeV
Returns
double XS Cross section in mbarn/GeV^2
double CRXS::XS::inv_AA_He3bar_LAB ( double  Tn_proj_LAB,
double  Tn_Hebar_LAB,
double  eta_LAB,
int  A_projectile,
int  N_projectile,
int  A_target,
int  N_target,
int  parametrization,
int  coalescence,
double  p0_val = 0.160 
)
static

Invariant antihelion production cross section for general projectile and target nucleus for different XS parametrization as function of LAB frame kinetic variables.

Parameters
doubleTn_proj_LAB Kinetic energy per nucleus of the prjectile (in the LAB frame)
doulbeTn_Hebar_LAB Kinetic energy of the antihelion (in the LAB frame)
doulbeeta_LAB Pseudo rapidity of the antihelion (in the LAB frame)
intA_projectile Mass number of the projectile, if A_projectile is negative we use an antiproton as projectile
intN_projectile Number of neutrons in the projectile
intA_target Mass number of the target
intN_target Number of neutrons in the target
intparametrization Cross section parametrization [Korsmeier_II (default), Korsmeier_I, Winkler, diMauro_I, diMauro_II]
intcoalescence Coalescence model, enum from[FIXED_P0 (default), ENERGY_DEP__VAN_DOETINCHEM], cf. inv_AA_Dbar_CM
intp0_val. Coalescence momentum in GeV
Returns
double XS Cross section in mbarn/GeV^2
double CRXS::XS::inv_AA_He4bar_CM ( double  s,
double  xF_Hebar,
double  pT_Hebar,
int  A_projectile,
int  N_projectile,
int  A_target,
int  N_target,
int  parametrization,
int  coalescence,
double  p0_val = 0.160 
)
static

Invariant antihelion production cross section for general projectile and target nucleus for different XS parametrization.

We calculat the cross section in the analytic coalescence model following eq. 4 of https://arxiv.org/abs/1711.08465.

The parameter p_coal is defined as abs(p_proton - p_neutron)

There are three options for the coalesence momentum (cf. to option \param int coalescence):

    1) Fixed to 160 MeV, which is the value tuned to the aleph experiment. If you prefer a different (fixed) value
       you can rescale the whole XS with (p_coal/160 MeV)^3.
    2) The energy-dependent coalescence momentum suggested in DOI 10.1103/PhysRevD.98.023012.
    3) A coalescence momentum that changes with transverse momentum as found in https://doi.org/10.1140/epjc/s10052-020-8256-4.

We recommend option 2)

If the massnumber \param int A_projectile is set to -1 we assume an antiproton projectile. In this case
the antiproton production cross section is replaced and approximated by the cross section from
            Anderson, et al.; 1967;
            PROTON AND PION SPECTRA FROM PROTON-PROTON INTERACTIONS AT 10, 20, AND 30 BeV/c*;
            DOI: https://doi.org/10.1103/PhysRevLett.19.198 .
The assumption is that the "p p -> p" XS is equal to the "pbar p -> pbar" XS.

The cross section contains the contribution from antineutrons and antihyperons.
In the case of DI_MAURO parametrizations the antihyperon contribution is set to 0.
The nuclear scaling for AA initial states is done as explained in XS_definitions::factor__AA.
Parameters
doubles CM energy, squared (in the nucleon-nucleon frame).
doulbexF Feynman scaling (2*pL_pbar/sqrt(s) in CMF, i.e. the nucleon-nucleon frame)
doulbepT_Hebar Transverse momentum of the antihelion
intA_projectile Mass number of the projectile, if A_projectile is negative we use an antiproton as projectile
intN_projectile Number of neutrons in the projectile
intA_target Mass number of the target
intN_target Number of neutrons in the target
intparametrization Cross section parametrization, enum from[KORSMEIER_II (default), KORSMEIER_I, WINKLER, DI_MAURO_I, DI_MAURO_II]
intcoalescence Coalescence model, enum from[FIXED_P0 (default), ENERGY_DEP__VAN_DOETINCHEM]
intp0_val. Coalescence momentum in GeV
Returns
double XS Cross section in mbarn/GeV^2
double CRXS::XS::inv_AA_He4bar_LAB ( double  Tn_proj_LAB,
double  Tn_Hebar_LAB,
double  eta_LAB,
int  A_projectile,
int  N_projectile,
int  A_target,
int  N_target,
int  parametrization,
int  coalescence,
double  p0_val = 0.160 
)
static

Invariant antihelion production cross section for general projectile and target nucleus for different XS parametrization as function of LAB frame kinetic variables.

Parameters
doubleTn_proj_LAB Kinetic energy per nucleus of the prjectile (in the LAB frame)
doulbeTn_Hebar_LAB Kinetic energy of the antihelion (in the LAB frame)
doulbeeta_LAB Pseudo rapidity of the antihelion (in the LAB frame)
intA_projectile Mass number of the projectile, if A_projectile is negative we use an antiproton as projectile
intN_projectile Number of neutrons in the projectile
intA_target Mass number of the target
intN_target Number of neutrons in the target
intparametrization Cross section parametrization [Korsmeier_II (default), Korsmeier_I, Winkler, diMauro_I, diMauro_II]
intcoalescence Coalescence model, enum from[FIXED_P0 (default), ENERGY_DEP__VAN_DOETINCHEM], cf. inv_AA_Dbar_CM
intp0_val. Coalescence momentum in GeV
Returns
double XS Cross section in mbarn/GeV^2
double CRXS::XS::inv_AA_p_CM ( double  s,
double  xF,
double  pT_p,
int  A_projectile,
int  N_projectile,
int  A_target,
int  N_target,
int  parametrization 
)
static

Invariant proton production cross section for general projectile and target nucleus for different XS parametrization.

Parameters
doubles CM energy, squared.
doulbexF Feynman scaling (2*pL_p/sqrt(s) in CMF)
doulbepT_p Transverse momentum of the proton
intA_projectile Mass number of the projectile
intN_projectile Number of neutrons in the projectile
intA_target Mass number of the target
intN_target Number of neutrons in the target
intparametrization Cross section parametrization, enum from[ANDERSON]
Returns
double XS Cross section in mbarn/GeV^2
double CRXS::XS::inv_AA_p_LAB ( double  Tn_proj_LAB,
double  T_p_LAB,
double  eta_LAB,
int  A_projectile,
int  N_projectile,
int  A_target,
int  N_target,
int  parametrization 
)
static

Invariant proton production cross section for general projectile and target nucleus for different XS parametrization as function of LAB frame kinetic variables.

Parameters
doubleTn_proj_LAB Kinetic energy per nucleus of the prjectile (in the LAB frame)
doulbeT_p_LAB Kinetic energy of the proton (in the LAB frame)
doulbeeta_LAB Pseudo rapidity of the proton (in the LAB frame)
intA_projectile Mass number of the projectile
intN_projectile Number of neutrons in the projectile
intA_target Mass number of the target
intN_target Number of neutrons in the target
intparametrization Cross section parametrization [ANDERSON]
Returns
double XS Cross section in mbarn/GeV^2
double CRXS::XS::inv_AA_pbar_CM ( double  s,
double  xF,
double  pT_pbar,
int  A_projectile,
int  N_projectile,
int  A_target,
int  N_target,
int  parametrization 
)
static

Invariant antiproton production cross section for general projectile and target nucleus for different XS parametrization.

Parameters
doubles CM energy, squared.
doulbexF Feynman scaling (2*pL_pbar/sqrt(s) in CMF)
doulbepT_pbar Transverse momentum of the antiproton
intA_projectile Mass number of the projectile
intN_projectile Number of neutrons in the projectile
intA_target Mass number of the target
intN_target Number of neutrons in the target
intparametrization Cross section parametrization, enum from[KORSMEIER_II (default), KORSMEIER_I, WINKLER, DI_MAURO_I, DI_MAURO_II, WINKLER_SELF, DI_MAURO_SELF]
Returns
double XS Cross section in mbarn/GeV^2
double CRXS::XS::inv_AA_pbar_LAB ( double  Tn_proj_LAB,
double  T_pbar_LAB,
double  eta_LAB,
int  A_projectile,
int  N_projectile,
int  A_target,
int  N_target,
int  parametrization 
)
static

Invariant antiproton production cross section for general projectile and target nucleus for different XS parametrization as function of LAB frame kinetic variables.

Parameters
doubleTn_proj_LAB Kinetic energy per nucleus of the prjectile (in the LAB frame)
doulbeT_pbar_LAB Kinetic energy of the antiproton (in the LAB frame)
doulbeeta_LAB Pseudo rapidity of the antiproton (in the LAB frame)
intA_projectile Mass number of the projectile
intN_projectile Number of neutrons in the projectile
intA_target Mass number of the target
intN_target Number of neutrons in the target
intparametrization Cross section parametrization [Korsmeier_II (default), Korsmeier_I, Winkler, diMauro_I, diMauro_II]
Returns
double XS Cross section in mbarn/GeV^2
double CRXS::XS::p_coal__pTdep ( double  pToverA,
double  p0_val = 0.160 
)
static

Function for getting the coalescence momentum using a rescaling with PT.

Coalesence momentum from the paper:
    Deuteron and Antideuteron Production Simulation in Cosmic-ray Interactions
    Diego-Mauricio Gomez-Coral, et al.,
    (DOI 10.1103/PhysRevD.98.023012)

Taken from Eq. (5) with parameters of Korsmeier, et al.
The parameter p_coal is defined as abs(p_proton - p_neutron)/2. (Note that there is also a different notation,
without the factor 2., in the literature)
Parameters
doubles CM energy, squared (in the nucleon-nucleon frame).
Returns
double Coalescence momentum
double CRXS::XS::p_coal__VonDoetinchen ( double  s)
static

Invariant antideuteron production cross section for general projectile and target nucleus for different XS parametrization.

Coalesence momentum from the paper:
    Deuteron and Antideuteron Production Simulation in Cosmic-ray Interactions
    Diego-Mauricio Gomez-Coral, et al.,
    (DOI 10.1103/PhysRevD.98.023012)

Taken from Eq. (5) with parameters of Korsmeier, et al.
The parameter p_coal is defined as abs(p_proton - p_neutron)/2. (Note that there is also a different notation,
without the factor 2., in the literature)
Parameters
doubles CM energy, squared (in the nucleon-nucleon frame).
Returns
double Coalescence momentum
void CRXS::XS::Set_SELF_C_parameters_diMauro ( double *  C)
static

Function to set the parameter values of the di Mauro parametrization yourself.

The nameing of the parameters corresponds to the definition di Mauro, et al.; 2014; A new evaluation of the antiproton production cross section for cosmic ray studies; DOI: 10.1103/PhysRevD.90.085017 in Eq. (13). The input parameter array double* C is expected to have a length of 19 and contains:

  • C[0] is a dummy
  • C[1] to C[11] are the variables of Eq. (13)
  • C[12] to C[15] are the isospin variables, this is described as in Winkler (2017), his variables C_1 to C_4
  • C[16] to C[18] are the hyperon variables, this is described as in Winkler (2017), his variables C_14 to C_16
Parameters
double*C Array of parameters, expected length: 19. For details see above.
void CRXS::XS::Set_SELF_C_parameters_Winkler ( double *  C)
static

Function to set the parameter values of the Winkler parametrization yourself.

The nameing of the parameters corresponds to the definition Winkler, M. W.; 2017; Cosmic Ray Antiprotons at High Energies; arXiv:1701.04866 The input parameter array double* C is expected to have a length of 17 and contains:

  • C[0] is a dummy
  • C[1] to C[16] are the variables named as in Winkler (2017)
Parameters
double*C Array of parameters, expected length: 17. For details see above.
void CRXS::XS::Set_SELF_D_parameters_diMauro ( double *  D)
static

Function to set the parameter values of the di Mauro parametrization yourself.

The nameing of the parameters corresponds to the definition Korsmeier, et al.; 2018; Production cross sections of cosmic antiprotons in the light of new data from the NA61 and LHCb experiments; DOI: 10.1103/PhysRevD.97.103019 The input parameter array double* D is expected to have a length of 3 and contains:

  • D[0] is a dummy
  • D[1] and D[2] are the variables named as in Korsmeier, et al.; 2018
Parameters
double*D Array of parameters, expected length: 3. For details see above.
void CRXS::XS::Set_SELF_D_parameters_Winkler ( double *  D)
static

Function to set the parameter values of the Winkler parametrization yourself.

The nameing of the parameters corresponds to the definition Korsmeier, et al.; 2018; Production cross sections of cosmic antiprotons in the light of new data from the NA61 and LHCb experiments; DOI: 10.1103/PhysRevD.97.103019 The input parameter array double* D is expected to have a length of 3 and contains:

  • D[0] is a dummy
  • D[1] and D[2] are the variables named as in Korsmeier, et al.; 2018
Parameters
double*D Array of parameters, expected length: 3. For details see above.

The documentation for this class was generated from the following files: