File indexing completed on 2025-04-19 09:10:17
0001 #ifndef YFS_Main_YFS_H
0002 #define YFS_Main_YFS_H
0003
0004
0005
0006 #include "MODEL/Main/Running_AlphaQED.H"
0007
0008
0009 namespace ATOOLS {
0010 class Blob;
0011 class Data_Reader;
0012 }
0013
0014 namespace YFS {
0015 class Semi_YFS {
0016 private:
0017 std::string m_name;
0018 bool m_photons_added;
0019 bool m_success;
0020
0021
0022 public:
0023 void Initial();
0024 double Gen_V();
0025 double Beta();
0026 double Jac(double v);
0027 double Emass(double v,double alp, double s);
0028 double nbar();
0029 int Photon_Mult();
0030 void initial();
0031 double Gen_K();
0032 double Gen_Y();
0033 double Gen_Gamma(double alp);
0034 double Gen_exp(double alp);
0035 double Photon_Ang();
0036 double Total();
0037
0038 double Weight(double x, double alp, const int &semiyfs);
0039 double bornxs(double s,double theta);
0040 double sigma_crude(double s,double v);
0041 double max_xs(double s,double vmin, double vmax);
0042 double m_rho;
0043 double m_intial_S;
0044 double m_BeamEnergy1;
0045 double m_BeamEnergy2;
0046 double mass_f;
0047 double m_Jac;
0048 double m_alqed;
0049 double m_Emass;
0050 double m_g;
0051 double m_gp;
0052 double m_epsilon;
0053 double m_Kmax;
0054 double m_Kmin;
0055 double m_alpha_A;
0056 double m_yi;
0057 double m_ki;
0058 double m_var;
0059 double s;
0060 double v;
0061 double vmin;
0062 double vmax;
0063 double xsmax;
0064 double theta;
0065 int m_Photon_Number;
0066 int m_yfsmode;
0067 double s_ir_cutoff;
0068
0069 Semi_YFS();
0070 ~Semi_YFS();
0071
0072
0073
0074
0075 bool AddRadiation(ATOOLS::Blob *);
0076 bool CheckStateBeforeTreatment(ATOOLS::Blob *);
0077
0078 inline bool Done_Successfully() { return m_success; }
0079 inline bool Added_Anything() { return m_photons_added; }
0080 inline std::string Name() { return m_name; }
0081
0082 static double s_alpha;
0083 static bool s_use_running_parameters;
0084 static inline void Reset_Alpha_QED()
0085 { s_alpha=MODEL::aqed->AqedThomson(); }
0086 static inline void Set_Alpha_QED(const double& scale)
0087 { if (s_use_running_parameters) s_alpha=(*MODEL::aqed)(scale); }
0088
0089 static int s_YFS_mode;
0090 static bool s_use_me;
0091 static int s_ir_cutoffframe;
0092 static double s_accu;
0093 static int s_n_max;
0094 static int s_n_min;
0095 static double s_dr_cut;
0096 static bool s_strict;
0097 static double s_increase_max_weight;
0098 static double s_reduce_max_en;
0099 static bool s_check_first;
0100 static int s_ff_recscheme;
0101 static int s_fi_recscheme;
0102 int s_YFS;
0103 int s_seed;
0104 double s_var;
0105
0106
0107
0108 };
0109
0110 }
0111
0112 #endif
0113
0114