Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef HADRONS_ME_Library_Current_ME_H
0002 #define HADRONS_ME_Library_Current_ME_H
0003  
0004 #include "HADRONS++/ME_Library/HD_ME_Base.H"
0005 
0006 namespace HADRONS {
0007 
0008   class Current_Base;
0009 
0010   class Current_ME : public HD_ME_Base {
0011     Current_Base* p_c1, * p_c2;
0012     double m_factor;
0013     /** 
0014      * Select a current from a string using the Getter_Function for HD_Current_Base.
0015      * 
0016      * @param s Settings describing the mapping of external particle
0017      * indices in the decay blob to internal indices in the current.
0018      * 
0019      * @return The current it has created from the information. If
0020      *   it can't find a valid current, it will abort.
0021      */
0022     Current_Base* SelectCurrent(ATOOLS::Scoped_Settings s);
0023     void SetModelParameters(ATOOLS::Scoped_Settings& s);
0024   public:
0025     Current_ME(const ATOOLS::Flavour_Vector& flavs,
0026                const std::vector<int>& decayindices,
0027                const std::string& name);
0028     ~Current_ME();
0029     inline Current_Base* GetCurrent1() const { return p_c1; }
0030     inline Current_Base* GetCurrent2() const { return p_c2; }
0031     void Calculate(const ATOOLS::Vec4D_Vector& moms, bool anti=false);
0032   };
0033 }
0034 #endif