File indexing completed on 2025-04-19 09:10:07
0001 #ifndef METOOLS_Main_Full_Amplitude_Base_H
0002 #define METOOLS_Main_Full_Amplitude_Base_H
0003
0004 #include "METOOLS/Main/Spin_Structure.H"
0005
0006 namespace METOOLS {
0007 class Partial_Amplitude_Base;
0008
0009 class Full_Amplitude_Base : public Spin_Structure<std::vector<Complex> > {
0010 protected:
0011 ATOOLS::Flavour * p_flavs;
0012 const ATOOLS::CMatrix * p_colormatrix;
0013
0014 std::vector<Partial_Amplitude_Base * > m_amplitudes;
0015
0016 public:
0017 Full_Amplitude_Base(ATOOLS::Flavour* flavs,size_t size);
0018 ~Full_Amplitude_Base();
0019 inline void AddPartialAmplitude(Partial_Amplitude_Base * pa) {
0020 m_amplitudes.push_back(pa);
0021 }
0022 size_t NumberOfAmplitudes() const { return m_amplitudes.size(); }
0023
0024 double SummedSquared(const ATOOLS::Vec4D *,bool anti=false);
0025
0026
0027 size_t ColorSize() const;
0028 const ATOOLS::CMatrix* GetColorMatrix() const;
0029 void SetColorMatrix(const ATOOLS::CMatrix* colormatrix);
0030 };
0031
0032 inline const ATOOLS::CMatrix * Full_Amplitude_Base::GetColorMatrix() const {
0033 return p_colormatrix;
0034 }
0035 inline void Full_Amplitude_Base::SetColorMatrix(const ATOOLS::CMatrix* cm) {
0036 p_colormatrix=cm;
0037 }
0038 inline size_t Full_Amplitude_Base::ColorSize() const { return 0; }
0039 }
0040
0041 #endif