File indexing completed on 2024-09-27 07:03:24
0001
0002
0003
0004 #ifndef Prokudin_
0005 #define Prokudin_
0006
0007 #include "StructureFunction.h"
0008
0009
0010
0011
0012 class ProkudinSfSet final : public SfSet {
0013 struct Impl;
0014 Impl* _impl;
0015
0016
0017 double D1(Hadron h, unsigned fl, double z, double Q_sq) const;
0018 double H1perpM1(Hadron h, unsigned fl, double z, double Q_sq) const;
0019
0020
0021 double xf1(unsigned fl, double x, double Q_sq) const;
0022 double xf1TperpM1(unsigned fl, double x, double Q_sq) const;
0023 double xg1(unsigned fl, double x, double Q_sq) const;
0024 double xgT(unsigned fl, double x, double Q_sq) const;
0025 double xh1(unsigned fl, double x, double Q_sq) const;
0026 double xh1M1(unsigned fl, double x, double Q_sq) const;
0027 double xh1LperpM1(unsigned fl, double x, double Q_sq) const;
0028 double xh1TperpM2(unsigned fl, double x, double Q_sq) const;
0029 double xh1perpM1(unsigned fl, double x, double Q_sq) const;
0030
0031 public:
0032 ProkudinSfSet();
0033 ProkudinSfSet(ProkudinSfSet const& other) = delete;
0034 ProkudinSfSet(ProkudinSfSet&& other) noexcept;
0035 ProkudinSfSet& operator=(ProkudinSfSet const& other) = delete;
0036 ProkudinSfSet& operator=(ProkudinSfSet&& other) noexcept;
0037 virtual ~ProkudinSfSet();
0038
0039
0040 double F_UUT(Hadron h, double x, double z, double Q_sq, double ph_t_sq) const override;
0041 double F_UU_cos_phih(Hadron h, double x, double z, double Q_sq, double ph_t_sq) const override;
0042 double F_UU_cos_2phih(Hadron h, double x, double z, double Q_sq, double ph_t_sq) const override;
0043
0044 double F_UL_sin_phih(Hadron h, double x, double z, double Q_sq, double ph_t_sq) const override;
0045 double F_UL_sin_2phih(Hadron h, double x, double z, double Q_sq, double ph_t_sq) const override;
0046
0047 double F_UTT_sin_phih_m_phis(Hadron h, double x, double z, double Q_sq, double ph_t_sq) const override;
0048 double F_UT_sin_2phih_m_phis(Hadron h, double x, double z, double Q_sq, double ph_t_sq) const override;
0049 double F_UT_sin_3phih_m_phis(Hadron h, double x, double z, double Q_sq, double ph_t_sq) const override;
0050 double F_UT_sin_phis(Hadron h, double x, double z, double Q_sq, double ph_t_sq) const override;
0051 double F_UT_sin_phih_p_phis(Hadron h, double x, double z, double Q_sq, double ph_t_sq) const override;
0052
0053 double F_LL(Hadron h, double x, double z, double Q_sq, double ph_t_sq) const override;
0054 double F_LL_cos_phih(Hadron h, double x, double z, double Q_sq, double ph_t_sq) const override;
0055
0056 double F_LT_cos_phih_m_phis(Hadron h, double x, double z, double Q_sq, double ph_t_sq) const override;
0057 double F_LT_cos_2phih_m_phis(Hadron h, double x, double z, double Q_sq, double ph_t_sq) const override;
0058 double F_LT_cos_phis(Hadron h, double x, double z, double Q_sq, double ph_t_sq) const override;
0059 };
0060
0061 #endif
0062