File indexing completed on 2025-04-19 09:10:02
0001 #ifndef DIM__Tools__Amplitude_H
0002 #define DIM__Tools__Amplitude_H
0003
0004 #include "DIM/Tools/Parton.H"
0005 #include "DIM/Tools/Splitting.H"
0006 #include "ATOOLS/Phys/Cluster_Amplitude.H"
0007
0008 namespace DIM {
0009
0010 class Amplitude: public Parton_Vector {
0011 private:
0012
0013 Splitting m_s;
0014 double m_t, m_t0;
0015
0016 ATOOLS::Cluster_Amplitude *p_ampl;
0017
0018 public:
0019
0020 Amplitude(ATOOLS::Cluster_Amplitude *const a);
0021
0022 ~Amplitude();
0023
0024 void Add(Parton *const p);
0025 void Remove(Parton *const p);
0026
0027 ATOOLS::Cluster_Amplitude *GetAmplitude() const;
0028
0029 inline ATOOLS::Cluster_Amplitude *
0030 ClusterAmplitude() const { return p_ampl; }
0031
0032 inline void SetSplit(const Splitting &s) { m_s=s; }
0033
0034 inline const Splitting &Split() const { return m_s; }
0035
0036 inline void SetT(const double &t) { m_t=t; }
0037 inline void SetT0(const double &t) { m_t0=t; }
0038
0039 inline double T() const { return m_t; }
0040 inline double T0() const { return m_t0; }
0041
0042 inline void SetJF(void *const jf) { p_ampl->SetJF(jf); }
0043 template <class Type> inline Type *JF() const
0044 { return p_ampl->JF<Type>(); }
0045
0046 };
0047
0048 std::ostream &operator<<(std::ostream &s,const Amplitude &a);
0049
0050 typedef std::vector<Amplitude*> Amplitude_Vector;
0051
0052 }
0053
0054 #endif