Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-19 09:09:46

0001 #ifndef AMEGIC_DipoleSubtraction_Single_LOProcess_External_H
0002 #define AMEGIC_DipoleSubtraction_Single_LOProcess_External_H
0003 
0004 #include "AMEGIC++/DipoleSubtraction/Single_LOProcess.H"
0005 #include "AMEGIC++/Amplitude/Zfunctions/Mom.H"
0006 
0007 namespace AMEGIC {
0008   class FullAmplitude_External;
0009   class Single_LOProcess_External : public Single_LOProcess {
0010   private:
0011     bool                    m_emitgluon;
0012 
0013     std::vector<ATOOLS::Vec4D>* p_epol;
0014 
0015     FullAmplitude_External    * p_extamp;
0016     /*------------------------------------------------------------------------------
0017 
0018       Constructors
0019 
0020       ------------------------------------------------------------------------------*/
0021   public:
0022 
0023    Single_LOProcess_External(const PHASIC::Process_Info &pi,
0024                              BEAM::Beam_Spectra_Handler *const beam,
0025                              PDF::ISR_Handler *const isr,
0026                              YFS::YFS_Handler *const yfs,
0027                              const ATOOLS::sbt::subtype& st);
0028     ~Single_LOProcess_External();
0029 
0030 
0031     /*------------------------------------------------------------------------------
0032 
0033       Initializing libraries, amplitudes, etc.
0034 
0035       ------------------------------------------------------------------------------*/
0036   private :
0037     int         Tests(std::vector<double>* =NULL);
0038   public:
0039     int         InitAmplitude(Amegic_Model *,Topology *,
0040                   std::vector<Process_Base *> &,
0041                   std::vector<Process_Base *> &,int);
0042     int         InitAmplitude(Amegic_Model *,Topology *,
0043                   std::vector<Process_Base *> &,
0044                   std::vector<Process_Base *> &,
0045                   std::vector<ATOOLS::Vec4D>*,std::vector<double>*);
0046 
0047     /*------------------------------------------------------------------------------
0048 
0049       Calculating total cross sections
0050 
0051       ------------------------------------------------------------------------------*/
0052   public:
0053     double  operator()(const ATOOLS::Vec4D_Vector &,const ATOOLS::Vec4D *,
0054                std::vector<double>*,std::vector<ATOOLS::Vec4D>*,const int);
0055     void    Calc_AllXS(const ATOOLS::Vec4D_Vector &,
0056                        const ATOOLS::Vec4D *,
0057                        std::vector<std::vector<double> > &,
0058                        std::vector<std::vector<double> > &,
0059                        const int);
0060     int NumberOfDiagrams();
0061   };
0062 }
0063 
0064 
0065 
0066 #endif
0067