%{ #include #include #include "ATOOLS/Phys/Flavour.H" #include "ATOOLS/Org/Exception.H" #include "AddOns/Python/MEProcess.H" %} %catches (const ATOOLS::Exception&) MEProcess::Initialize(); namespace SHERPA{ class Sherpa; } namespace ATOOLS{ class Cluster_Amplitude; class ColorID; } namespace PHASIC{ class Process_Base; } class MEProcess{ public: MEProcess(SHERPA::Sherpa* Generator); ~MEProcess(); void AddInFlav(const int &id); void AddOutFlav(const int &id); void AddInFlav(const int &id, const int &col1, const int &col2); void AddOutFlav(const int &id, const int &col1, const int &col2); double GenerateColorPoint(); void Initialize(); std::vector NLOSubContributions(); void SetMomentum(int, double, double, double, double); void SetMomenta(ATOOLS::Vec4D_Vector&); // Get the momenta that were previously set ATOOLS::Vec4D_Vector GetMomenta(); double TestPoint(const double& sqrts); double MatrixElement(); double CSMatrixElement(); double MEProcess::GetFlux(); inline ATOOLS::Cluster_Amplitude* GetAmp() {return m_amp;} std::string GeneratorName(); %extend { PyObject* SetMomenta(PyObject* list_list) { if (!PyList_Check(list_list)){ PyErr_SetString(PyExc_TypeError,"Argument of SetMomenta must be a list of lists"); return NULL; } ATOOLS::Vec4D_Vector vec4_vec; for (int i(0); iSetMomenta(vec4_vec); } return PyInt_FromLong(1); }; } };