GR Engine
A physics engine in curved space-time
 All Classes Files Functions Variables
particle.h
Go to the documentation of this file.
1 #ifndef __PARTICLE__
2 #define __PARTICLE__
3 
8 #include "geometry.h"
9 #include "numeric.h"
10 
16 class Particle : public DiffEq
17 {
18 protected:
19  Point p;
20  vector4 u;
21  Manifold* m;
22 
24  virtual StateVector constructState();
26  virtual void setState(StateVector);
28  virtual Point getPosFromState(StateVector);
30  virtual vector4 getVelFromState(StateVector);
31 
32  Integrator* integrator;
33 public:
35 
37  Particle(Manifold* _m);
39 
43  Particle(Manifold* _m, Point _p, vector4 _u);
45  virtual ~Particle();
46 
49 
51 
54  StateVector derivative(StateVector v);
56 
58  void propagate(double step = 0.0);
59 
61  int getCoordSystem();
63  virtual void setCoordSystem(int);
64 
66  Point getPos();
68  vector4 getVel();
69 
71 
74  virtual void setPosVel(Point _p, vector4 _u);
76 
78  virtual void setVel(vector4 _u);
79 };
80 
81 #endif
82