File indexing completed on 2026-08-06 09:25:33
0001
0002
0003
0004
0005
0006
0007 #ifndef NINJA_NUM_DEFS_HH
0008 #define NINJA_NUM_DEFS_HH
0009
0010 #include <ninja/types.hh>
0011 #include <ninja/momentum.hh>
0012
0013 namespace ninja {
0014
0015 typedef unsigned char PartitionInt;
0016
0017 }
0018
0019
0020 namespace samurai {
0021
0022 class Numerator {
0023
0024 public:
0025
0026 virtual ninja::Complex evaluate(const ninja::ComplexMomentum & q,
0027 const ninja::Complex & muq,
0028 int cut,
0029 const ninja::PartitionInt part[]) = 0;
0030
0031 virtual ~Numerator() {}
0032
0033 };
0034
0035 }
0036
0037
0038 namespace ninja {
0039
0040 class Numerator : public samurai::Numerator {
0041
0042 public:
0043
0044 virtual Complex evaluate(const ninja::ComplexMomentum & q,
0045 const ninja::Complex & muq,
0046 int cut, const ninja::PartitionInt part[]) = 0;
0047
0048 virtual void muExpansion(const ninja::ComplexMomentum v_perp[],
0049 const ninja::PartitionInt part[],
0050 ninja::Complex c[])
0051 {
0052 (void)(v_perp); (void)(part); (void)(c);
0053 }
0054
0055 virtual void t3Expansion(const ninja::ComplexMomentum & a,
0056 const ninja::ComplexMomentum & e3,
0057 const ninja::ComplexMomentum & e4,
0058 const ninja::Complex & param,
0059 int mindeg,
0060 int cut, const ninja::PartitionInt part[],
0061 ninja::Complex c[]) = 0;
0062
0063 virtual void t2Expansion(const ninja::ComplexMomentum & a0,
0064 const ninja::ComplexMomentum & a1,
0065 const ninja::ComplexMomentum & e3,
0066 const ninja::ComplexMomentum & e4,
0067 const ninja::Complex param[],
0068 int mindeg,
0069 int cut, const ninja::PartitionInt part[],
0070 ninja::Complex c[]) = 0;
0071
0072 virtual ~Numerator() {}
0073
0074 };
0075
0076 }
0077
0078 #endif