File indexing completed on 2026-09-27 09:14:54
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef _REGGE_TRAJ_
0011 #define _REGGE_TRAJ_
0012
0013 #include <complex>
0014 #include <string>
0015
0016 class regge_trajectory
0017 {
0018 public:
0019
0020
0021 regge_trajectory(std::string name = "")
0022 : _parent(name)
0023 {};
0024
0025 regge_trajectory(int sig, std::string name = "")
0026 : _signature(sig), _parent(name)
0027 {};
0028
0029
0030 regge_trajectory(const regge_trajectory & old)
0031 : _parent(old._parent), _signature(old._signature)
0032 {};
0033
0034
0035 virtual std::complex<double> eval(double s) = 0;
0036
0037 virtual std::complex<double> slope(double s = 0.){return 0.;};
0038
0039
0040
0041 std::string _parent;
0042 int _signature;
0043 };
0044
0045
0046
0047 class linear_trajectory : public regge_trajectory
0048 {
0049 private:
0050
0051
0052 double _a0, _aprime;
0053
0054 public:
0055
0056
0057 linear_trajectory(){};
0058
0059
0060 linear_trajectory(int sig, double inter, double slope, std::string name = "")
0061 : regge_trajectory(sig, name),
0062 _a0(inter), _aprime(slope)
0063 {};
0064
0065
0066 linear_trajectory(const linear_trajectory & old)
0067 : regge_trajectory(old),
0068 _a0(old._a0), _aprime(old._aprime)
0069 {};
0070
0071
0072 void set_params(double inter, double slope)
0073 {
0074 _a0 = inter; _aprime = slope;
0075 };
0076
0077 std::complex<double> eval(double s)
0078 {
0079 return _a0 + _aprime * s;
0080 };
0081
0082 std::complex<double> slope(double s = 0.)
0083 {
0084 return _aprime;
0085 };
0086 };
0087
0088 #endif