Back to home page

EIC code displayed by LXR

 
 

    


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 } // namespace BEAM
0028 #endif