#ifndef HADRONS_ME_Library_Current_ME_H #define HADRONS_ME_Library_Current_ME_H #include "HADRONS++/ME_Library/HD_ME_Base.H" namespace HADRONS { class Current_Base; class Current_ME : public HD_ME_Base { Current_Base* p_c1, * p_c2; double m_factor; /** * Select a current from a string using the Getter_Function for HD_Current_Base. * * @param s Settings describing the mapping of external particle * indices in the decay blob to internal indices in the current. * * @return The current it has created from the information. If * it can't find a valid current, it will abort. */ Current_Base* SelectCurrent(ATOOLS::Scoped_Settings s); void SetModelParameters(ATOOLS::Scoped_Settings& s); public: Current_ME(const ATOOLS::Flavour_Vector& flavs, const std::vector& decayindices, const std::string& name); ~Current_ME(); inline Current_Base* GetCurrent1() const { return p_c1; } inline Current_Base* GetCurrent2() const { return p_c2; } void Calculate(const ATOOLS::Vec4D_Vector& moms, bool anti=false); }; } #endif