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
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
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
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