#ifndef PARTICLE_HPP
#define PARTICLE_HPP

/*
 * Class that implements a particle with position, velocity, mass and a time.
 */

class Particle
{
private:
    double x;      // position
    double v;      // velocity
    double m;      // mass
    double t;      // time

public:
    Particle();

    void SetPos(double);
    void SetVel(double);
    void SetMass(double);

    double GetPos();
    double GetVel();
    double GetMass();
    double GetTime();

    void IntegrateEL(double dt, double (*f)(double,double,double));
    void IntegrateMP(double, double (*)(double,double,double));
    void IntegrateRK4(double dt, double (*f)(double,double,double));
};

#endif // PARTICLE_HPP
