Geomi
Abstract_StepInternals.hpp
1 #ifndef DEF_VARIATIONAL_ABSTRACT_STEPINTERNALS
2 #define DEF_VARIATIONAL_ABSTRACT_STEPINTERNALS
3 
4 #include <vector>
5 
6 namespace Variational {
7 namespace Abstract {
8 
9 template <typename T_M,
10  typename T_Q,
11  typename T_PROBLEM,
12  typename T_TQ = T_Q>
14 {
15 protected:
16  T_M m_h;
17  T_Q m_q0;
18  T_Q m_q1;
19 
20  T_PROBLEM& m_problem;
21 
22 public:
23  StepInternals<T_M,T_Q,T_PROBLEM,T_TQ> (T_PROBLEM& problem)
24  : m_problem(problem)
25  { }
26 
27  void
28  setData (T_M h, T_Q q0, T_Q q1)
29  {
30  m_h = h;
31  m_q0 = q0;
32  m_q1 = q1;
33  }
34 
35  T_M
36  h () const
37  { return m_h; }
38 
39  T_Q
40  q0 () const
41  { return m_q0; }
42 
43  T_Q
44  q1 () const
45  { return m_q1; }
46 
47  virtual T_Q
48  posFromVel (T_M h, T_Q q0, T_TQ v0) const = 0;
49 };
50 } // namespace Abstract
51 } // namespace Variational
52 
53 #endif
Definition: Abstract_LieProblem.hpp:6
Definition: Abstract_StepInternals.hpp:13
Definition: Abstract_NOXStep.hpp:9