Back to home page

EIC code displayed by LXR

 
 

    


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   };// end of class Amplitude
0047 
0048   std::ostream &operator<<(std::ostream &s,const Amplitude &a);
0049 
0050   typedef std::vector<Amplitude*> Amplitude_Vector;
0051 
0052 }// end of namespace DIM
0053 
0054 #endif