/* This is the header file for the functions that specify the OFF-FORWARD parton distribution functions, NON-FORWARD parton distribution functions and DOUBLE distribution functions. */ #ifndef ofpd_h #define ofpd_h #include #include #include #include #include #include #include #include #include #define SIGMA_NU 0.67 /* 0.67 */ /* constant (in GeV^2) appearing in gaussian for k_perp dependence of OFPD */ void stupid(double brho); /*************************************************************************/ double H_up_distr(int param, double x, double xi, double t, int factt, double b_profile_val, double b_profile_sea, double scale_sqr); double H_down_distr(int param,double x, double xi, double t, int factt, double b_profile_val, double b_profile_sea, double scale_sqr); double E_up_distr(int param_e, int e_model, double x, double xi, double t, double scale_sqr, double Ju, double momu, double momuval); double E_down_distr(int param_e, int e_model, double x, double xi, double t, double scale_sqr, double Jd, double momd, double momdval); /*************************************************************************/ double offforward_distr(int flavour, int param, double x, double xi, double b_profile_val, double b_profile_sea, double scale_sqr); double offforward_valence_distr(int flavour, int param, double x, double xi, double b_profile_val, double scale_sqr); double offforward_distr_regge(int flavour, int param, double x, double xi, double t, double b_profile_val, double b_profile_sea, double scale_sqr); double offforward_valence_distr_regge(int flavour, int param, double x, double xi, double t, double b_profile_val,double scale_sqr); double int_symm_double_distr(double alpha); double symm_double_distr(int flavour, int param, double beta, double alpha, double b_profile_val, double b_profile_sea, double scale_sqr); double int_symm_double_antidistr(double alpha); double symm_double_antidistr(int flavour, int param, double beta, double alpha, double b_profile_sea, double scale_sqr); double int_symm_double_valence_distr(double alpha); double symm_double_valence_distr(int flavour, int param, double beta, double alpha, double b_profile_val, double scale_sqr); double symm_profile_function(double beta, double alpha, double b_profile); double int_symm_double_distr_regge(double alpha); double symm_double_distr_regge(int flavour, int param, double beta, double alpha, double t, double b_profile_val, double b_profile_sea, double scale_sqr); double int_symm_double_antidistr_regge(double alpha); double symm_double_antidistr_regge(int flavour, int param, double beta, double alpha, double t, double b_profile_sea, double scale_sqr); double int_symm_double_valence_distr_regge(double alpha); double symm_double_valence_distr_regge(int flavour, int param, double beta, double alpha, double t, double b_profile_val, double scale_sqr); double nonforward_distr(int flavour, int param, double x, double zeta, double scale_sqr); double nonforward_antidistr(int flavour, int param, double x, double zeta, double scale_sqr); double nonforward_valence_distr(int flavour, int param, double x, double zeta, double scale_sqr); double int_double_distr(double y); double double_distr(int flavour, int param, double x, double y, double scale_sqr); double int_double_antidistr(double y); double double_antidistr(int flavour, int param, double x, double y, double scale_sqr); double int_double_valence_distr(double y); double double_valence_distr(int flavour, int param, double x, double y, double scale_sqr); double profile_function(double x, double y); /*************************************************************************/ double spd_dterm(double alpha); /*************************************************************************/ double H_up_twist3ww_distr(int param, double u, double xi, double t, double b_profile_val, double b_profile_sea, double scale_sqr); double H_down_twist3ww_distr(int param, double u, double xi, double t, double b_profile_val, double b_profile_sea, double scale_sqr); double E_up_twist3ww_distr(int param_e, double u, double xi, double t, double b_profile_val, double b_profile_sea, double scale_sqr); double E_down_twist3ww_distr(int param_e, double u, double xi, double t, double b_profile_val, double b_profile_sea, double scale_sqr); double offforward_twist3ww_distr(int flavour, int param, double u, double xi, double b_profile_val, double b_profile_sea, double scale_sqr); double offforward_twist3ww_valence_distr(int flavour, int param, double u, double xi, double b_profile_val,double scale_sqr); double int_symm_deriv_double_distr(double alpha); double symm_deriv_double_distr(int flavour,int param,double beta,double alpha, double b_profile_val, double b_profile_sea, double scale_sqr); double int_symm_deriv_double_antidistr(double alpha); double symm_deriv_double_antidistr(int flavour, int param, double beta, double alpha, double b_profile_sea, double scale_sqr); double int_symm_deriv_double_valence_distr(double alpha); double symm_deriv_double_valence_distr(int flavour, int param, double beta, double alpha, double b_profile_val, double scale_sqr); double symm_deriv_profile_function(double beta, double alpha,double b_profile); /*************************************************************************/ double H_up_distr_kperp(int param, double x, double k_perp, double xi, double t); double H_down_distr_kperp(int param, double x, double k_perp, double xi, double t); double offforward_distr_kperp(int flavour, int param, double x, double k_perp, double xi); double offforward_valence_distr_kperp(int flavour, int param, double x, double k_perp, double xi); double nonforward_distr_kperp(int flavour, int param, double x, double k_perp, double zeta); double nonforward_antidistr_kperp(int flavour, int param, double x, double k_perp, double zeta); double nonforward_valence_distr_kperp(int flavour, int param, double x,double k_perp, double zeta); double int_double_distr_kperp(double y); double double_distr_kperp(int flavour, int param, double x, double y, double k_perp); double int_double_antidistr_kperp(double y); double double_antidistr_kperp(int flavour, int param, double x, double y, double k_perp); double int_double_valence_distr_kperp(double y); double double_valence_distr_kperp(int flavour, int param, double x, double y, double k_perp); /*************************************************************************/ double H_up_distr_bspace(int param, double x, double b, double xi, double t); double H_down_distr_bspace(int param, double x, double b, double xi, double t); double offforward_distr_bspace(int flavour, int param, double x, double b, double xi); double offforward_valence_distr_bspace(int flavour, int param, double x, double b, double xi); double nonforward_distr_bspace(int flavour, int param, double x, double b, double zeta); double nonforward_antidistr_bspace(int flavour, int param, double x, double b, double zeta); double nonforward_valence_distr_bspace(int flavour, int param, double x, double b, double zeta); double int_double_distr_bspace(double y); double double_distr_bspace(int flavour, int param, double x, double y, double b); double int_double_antidistr_bspace(double y); double double_antidistr_bspace(int flavour, int param, double x, double y, double b); double int_double_valence_distr_bspace(double y); double double_valence_distr_bspace(int flavour, int param, double x, double y, double b); /*************************************************************************/ /*************************************************************************/ double Hhel_up_distr(int param, double x, double xi, double t, double scale_sqr); double Hhel_down_distr(int param, double x, double xi, double t, double scale_sqr); double Hhel_strange_distr(int param, double x, double xi, double t, double scale_sqr); double offforward_heldistr(int flavour, int param, double x, double xi, double scale_sqr); double nonforward_heldistr(int flavour, int param, double x, double zeta, double scale_sqr); double nonforward_helantidistr(int flavour, int param, double x, double zeta, double scale_sqr); double int_double_heldistr(double y); double double_heldistr(int flavour, int param, double x, double y, double scale_sqr); double int_double_helantidistr(double y); double double_helantidistr(int flavour, int param, double x, double y, double scale_sqr); /*************************************************************************/ double Hhel_up_distr_kperp(int param, double x, double k_perp, double xi, double t); double Hhel_down_distr_kperp(int param, double x, double k_perp, double xi, double t); double offforward_heldistr_kperp(int flavour, int param, double x, double k_perp, double xi); double nonforward_heldistr_kperp(int flavour, int param, double x, double k_perp, double zeta); double int_double_heldistr_kperp(double y); double double_heldistr_kperp(int flavour, int param, double x, double y, double k_perp); #endif