File indexing completed on 2025-04-19 09:10:07
0001 #ifndef METOOLS_Main_Partial_Amplitude_Base_H
0002 #define METOOLS_Main_Partial_Amplitude_Base_H
0003
0004 #include "METOOLS/Main/Spin_Structure.H"
0005
0006 namespace METOOLS {
0007
0008 class Partial_Amplitude_Base : public Spin_Amplitudes {
0009 protected:
0010 const ATOOLS::Flavour_Vector& p_flavs;
0011 std::vector<int> p_i;
0012 std::vector<bool> p_out;
0013
0014 void AssertSpins(int, ...);
0015 void AssertIn(int in);
0016 public:
0017 Partial_Amplitude_Base(const ATOOLS::Flavour_Vector& flavs,
0018 const std::vector<int>& i,
0019 const std::vector<bool>& out);
0020 virtual ~Partial_Amplitude_Base();
0021
0022 static Partial_Amplitude_Base* Select(const ATOOLS::Flavour_Vector& flavs);
0023 };
0024
0025 class Isotropic : public Partial_Amplitude_Base {
0026 public:
0027 Isotropic(const ATOOLS::Flavour_Vector& flavs,
0028 const std::vector<int>& i, const std::vector<bool>& out);
0029 ~Isotropic() {}
0030
0031 void Calculate(const ATOOLS::Vec4D_Vector& moms, bool anti=false);
0032 };
0033
0034 }
0035
0036
0037 #endif