File indexing completed on 2026-09-27 09:14:58
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 #ifndef LAGER_GEN_LA_JPACPHOTO_POMERON_LOADED
0021 #define LAGER_GEN_LA_JPACPHOTO_POMERON_LOADED
0022
0023 #include <lager/core/generator.hh>
0024 #include <lager/core/particle.hh>
0025 #include <lager/gen/lA/generator.hh>
0026 #include <lager/gen/lA_event.hh>
0027
0028 #include <jpacPhoto/amplitudes/pomeron_exchange.hpp>
0029 #include <jpacPhoto/reaction_kinematics.hpp>
0030
0031 namespace lager {
0032 namespace lA {
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043 class jpacPhoto_pomeron : public lA::generator {
0044 public:
0045 using base_type = lA::generator;
0046
0047 jpacPhoto_pomeron(const configuration& cf, const string_path& path,
0048 std::shared_ptr<TRandom> r);
0049 virtual lA_event generate(const lA_data&);
0050 virtual double max_cross_section() const { return max_; }
0051 virtual double phase_space() const { return max_t_range_.width(); }
0052
0053 private:
0054 double calc_max_xsec(const configuration& cf) ;
0055 interval<double> calc_max_t_range(const configuration& cf) const;
0056
0057
0058 interval<double> t_range(const double W2, const double Q2,
0059 const double Mt) const;
0060
0061
0062
0063 double dsigma_dt(const double s, const double t)
0064 ;
0065 double dipole(const double Q2) const;
0066
0067
0068
0069 double threshold2(const particle& vm, const particle& recoil) const;
0070
0071
0072 lA_event make_event(const lA_data& initial, const double t, particle vm1,
0073 particle X1, const double xs);
0074
0075
0076 std::unique_ptr<jpacPhoto::reaction_kinematics> init_reaction() const;
0077 jpacPhoto::pomeron_exchange init_ampl();
0078
0079
0080 const particle recoil_;
0081 const particle vm_;
0082 const particle decay_lplus_;
0083 const particle decay_lminus_;
0084
0085
0086 const double regge_inter_;
0087 const double regge_slope_;
0088 const double photo_norm_;
0089 const double photo_slope_;
0090 const double
0091 dipole_n_;
0092
0093
0094 std::unique_ptr<jpacPhoto::reaction_kinematics>
0095 reaction_;
0096 linear_trajectory regge_;
0097 jpacPhoto::pomeron_exchange ampl_;
0098
0099
0100 const interval<double> max_t_range_;
0101 const double max_;
0102 };
0103
0104 }
0105 }
0106
0107 #endif