File indexing completed on 2025-04-19 09:10:00
0001 #ifndef BEAM_Main_Weight_Base_H
0002 #define BEAM_Main_Weight_Base_H
0003
0004 #include "ATOOLS/Math/Vector.H"
0005 #include "BEAM/Main/Beam_Base.H"
0006 #include "BEAM/Main/Kinematics_Base.H"
0007 #include <array>
0008
0009 namespace BEAM {
0010 class Weight_Base {
0011 protected:
0012 Kinematics_Base *p_kinematics;
0013 std::array<Beam_Base *, 2> p_beams;
0014 double m_weight;
0015 std::string m_keyid;
0016
0017 public:
0018 Weight_Base(Kinematics_Base *kinematics);
0019 virtual ~Weight_Base();
0020
0021 virtual void AssignKeys(ATOOLS::Integration_Info *info) = 0;
0022 virtual bool Calculate(const double &scale) = 0;
0023 virtual double operator()() {
0024 return m_weight;
0025 }
0026 };
0027 }
0028 #endif