Back to home page

EIC code displayed by LXR

 
 

    


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     //double SummedSquared(const ATOOLS::Vec4D *,int hels);
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