Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef BEAM_Main_Collider_Kinematics_H
0002 #define BEAM_Main_Collider_Kinematics_H
0003 
0004 #include "BEAM/Main/Kinematics_Base.H"
0005 
0006 namespace BEAM {
0007 class Collider_Kinematics : public Kinematics_Base {
0008 private:
0009   collidermode::code m_mode;
0010 
0011   ATOOLS::Vec4D m_p_plus, m_p_minus;
0012   double m_Ecms;
0013   double m_ymin, m_ymax, m_xmin, m_xmax;
0014   ATOOLS::Info_Key m_sprimekey, m_ykey, m_xkey;
0015   double m_sprime;
0016 
0017   void InitSystem();
0018   void InitIntegration() override;
0019   double CalculateTau();
0020 
0021 public:
0022   Collider_Kinematics(std::array<Beam_Base *, 2>  beams);
0023   ~Collider_Kinematics() = default;
0024 
0025   inline const double Sprime() override { return m_sprimekey[3]; }
0026   inline const double Y() override { return m_ykey[2]; }
0027   void AssignKeys(ATOOLS::Integration_Info *const info) override;
0028   void SetLimits() override;
0029   bool operator()(ATOOLS::Vec4D_Vector& moms) override;
0030 };
0031 }
0032 #endif