Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-06-02 08:17:11

0001 /******************************************************************************
0002  * This file is part of libome                                                *
0003  * Copyright (C) 2025 Arnd Behring, Kay Schoenwald                            *
0004  * SPDX-License-Identifier: GPL-3.0-or-later                                  *
0005  ******************************************************************************/
0006 
0007 #ifndef LIBOME_AQQQPS_H
0008 #define LIBOME_AQQQPS_H
0009 
0010 #ifdef __cplusplus
0011 
0012 #include <apfel/ome/ome_type_aliases.h>
0013 #include <apfel/ome/rpd_distribution.h>
0014 
0015 namespace apfel
0016 {
0017   namespace ome
0018   {
0019     /**
0020      * \addtogroup ome-data
0021      * \{
0022      * \defgroup ome-data-AqqQPS AqqQPS
0023      * \brief Data objects for \f$A_{qq,Q}^{\text{PS}}\f$
0024      * \{
0025      */
0026     /// Regular part of \f$A_{qq,Q}^{\text{PS}}\f$
0027     extern const ome_as<double> AqqQPS_reg;
0028 
0029     /// Container for regular, plus and delta part of \f$A_{qq,Q}^{\text{PS}}\f$
0030     extern const rpd_distribution<ome_as_view<double>, ome_as_plus_view<double>, ome_as_const_view<double>> AqqQPS;
0031 
0032     /**
0033      * \}
0034      * \}
0035      */
0036   }
0037 
0038   extern "C"
0039   {
0040 #endif /* ifdef __cpluscplus */
0041 
0042   /* C interface */
0043   /**
0044    * \addtogroup c-interface
0045    * \{
0046    * \defgroup c-interface-AqqQPS AqqQPS
0047    * \brief C interface functions for \f$A_{qq,Q}^{\text{PS}}\f$
0048    * \{
0049    * \name Evaluation
0050    * \{
0051    */
0052 
0053 /// Evaluate regular part of \f$A_{qq,Q}^{\text{PS}}\f$
0054   double ome_AqqQPS_reg(double as, double LM, double NF, double x);
0055 /// Evaluate regular part of \f$A_{qq,Q}^{\text{PS}}\f$ truncated in \f$a_s\f$
0056   double ome_AqqQPS_reg_trunc_as(int trunc_order, double as, double LM, double NF, double x);
0057 /// Evaluate a given \f$a_s\f$ coefficient of the regular part of \f$A_{qq,Q}^{\text{PS}}\f$
0058   double ome_AqqQPS_reg_coeff_as(int order_as, double LM, double NF, double x);
0059 /// Evaluate a given \f$a_s\f$, \f$L_M\f$ coefficient of the regular part of \f$A_{qq,Q}^{\text{PS}}\f$
0060   double ome_AqqQPS_reg_coeff_as_LM(int order_as, int order_LM, double NF, double x);
0061 /// Evaluate a given \f$a_s\f$, \f$L_M\f$, \f$N_F\f$ coefficient of the regular part of \f$A_{qq,Q}^{\text{PS}}\f$
0062   double ome_AqqQPS_reg_coeff_as_LM_NF(int order_as, int order_LM, int order_NF, double x);
0063 
0064 
0065 
0066   /**
0067    * \}
0068    *
0069    * \name Range getters
0070    * \{
0071    */
0072 
0073 /// Get minimum power in \f$a_s\f$ of regular part of \f$A_{qq,Q}^{\text{PS}}\f$
0074   int ome_AqqQPS_reg_min_power();
0075 /// Get maximum power in \f$a_s\f$ of regular part of \f$A_{qq,Q}^{\text{PS}}\f$
0076   int ome_AqqQPS_reg_max_power();
0077 /// Get minimum power in \f$L_M\f$ of a specific \f$a_s\f$ coefficient of the regular part of \f$A_{qq,Q}^{\text{PS}}\f$
0078   int ome_AqqQPS_reg_coeff_as_min_power(int order_as);
0079 /// Get maximum power in \f$L_M\f$ of a specific \f$a_s\f$ coefficient of the regular part of \f$A_{qq,Q}^{\text{PS}}\f$
0080   int ome_AqqQPS_reg_coeff_as_max_power(int order_as);
0081 /// Get minimum power in \f$N_F\f$ of a specific \f$a_s\f$, \f$L_M\f$ coefficient of the regular part of \f$A_{qq,Q}^{\text{PS}}\f$
0082   int ome_AqqQPS_reg_coeff_as_LM_min_power(int order_as, int order_LM);
0083 /// Get maximum power in \f$N_F\f$ of a specific \f$a_s\f$, \f$L_M\f$ coefficient of the regular part of \f$A_{qq,Q}^{\text{PS}}\f$
0084   int ome_AqqQPS_reg_coeff_as_LM_max_power(int order_as, int order_LM);
0085 
0086 
0087 
0088   /**
0089    * \}
0090    * \}
0091    * \}
0092    */
0093 
0094 #ifdef __cplusplus
0095 }
0096 }
0097 #endif
0098 #endif