|
|
|||
File indexing completed on 2026-09-27 09:14:54
0001 // Vector meson photoproduction dynamics proceeding through a pomeron exchange 0002 // 0003 // Author: Daniel Winney (2020) 0004 // Affiliation: Joint Physics Analysis Center (JPAC) 0005 // Email: dwinney@iu.edu 0006 // --------------------------------------------------------------------------- 0007 // REFERENCES: 0008 // [1] 1907.09393 0009 // [2] 1606.08912 0010 // [3] 1904.11706 0011 // --------------------------------------------------------------------------- 0012 0013 #ifndef _POMERON_ 0014 #define _POMERON_ 0015 0016 #include "amplitude.hpp" 0017 #include "regge_trajectory.hpp" 0018 0019 // --------------------------------------------------------------------------- 0020 // The pomeron_exchange class describes the amplitude correspinding to 0021 // vector meson photoproduction via a vector pomeron coupling. 0022 // 0023 // As a reggeon exchange model it is parameterized in terms three functions 0024 // 1. top_vertex() coupling the vector meson to the incoming photon 0025 // 2. bottom_vertex() coupling the two proton dirac spinors 0026 // 3. regge_factor() the function describing the energy dependence of the amplitude 0027 // --------------------------------------------------------------------------- 0028 0029 namespace jpacPhoto 0030 { 0031 class pomeron_exchange : public amplitude 0032 { 0033 public: 0034 0035 // Constructor 0036 // need a pointer to kinematic object, pointer to trajectory. 0037 pomeron_exchange(reaction_kinematics * xkinem, regge_trajectory * alpha, int model = 0, std::string name = "pomeron_exchange") 0038 : amplitude(xkinem, name), _traj(alpha), _model(model) 0039 { 0040 set_nParams(2); 0041 check_JP(xkinem->_jp); 0042 }; 0043 0044 // Setting utility 0045 void set_params(std::vector<double> params) 0046 { 0047 check_nParams(params); 0048 _norm = params[0]; 0049 _b0 = params[1]; 0050 }; 0051 0052 // Assemble the helicity amplitude by contracting the lorentz indices 0053 std::complex<double> helicity_amplitude(std::array<int, 4> helicities, double s, double t); 0054 0055 // only vector kinematics allowed 0056 inline std::vector<std::array<int,2>> allowedJP() 0057 { 0058 return {{1, -1}}; 0059 }; 0060 0061 private: 0062 0063 // Which model to use. 0064 int _model = 0; 0065 // 0 - model in [1] Lesniak-Szcepaniak 0066 // 1 - model in [2] Helicity conserving 0067 // 2 - model in [3] Wang et al. 0068 0069 double _norm = 0., _b0 = 0.; // Regge factor parameters: normalization and t-slope 0070 regge_trajectory * _traj; 0071 0072 // Photon - Vector - Pomeron vertex 0073 std::complex<double> top_vertex(int mu, int lam_gam, int lam_vec); 0074 0075 // Nucleon - Nucleon - Pomeron vertex 0076 std::complex<double> bottom_vertex(int mu, int lam_targ, int lam_rec); 0077 0078 // Energy dependence from Pomeron propogator 0079 std::complex<double> regge_factor(); 0080 }; 0081 }; 0082 0083 #endif
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|