22 #include <Eigen/Dense> 34 return particle_sign::plus;
36 return particle_sign::minus;
60 : pos(
std::move(_pos)), q(_q), alpha(_alpha), sign(_sign), t(_t) {
66 : pos(original.pos), q(original.q), alpha(original.alpha),
67 sign(original.sign), t(original.t) {
86 swap(*
this, original);
Definition: analytic1d.hpp:26
D_particle(const D_particle &original)
Copy constructor.
Definition: deviational_particle.hpp:65
particle_sign get_particle_sign(const T &value)
Convenience function for obtaining a particle_sign.
Definition: deviational_particle.hpp:32
std::size_t q
q point index in some regular grid.
Definition: deviational_particle.hpp:47
Each object of this class represents a deviational particle in the simulation.
Definition: deviational_particle.hpp:42
Eigen::VectorXd pos
Cartesian coordinates of the particle [nm].
Definition: deviational_particle.hpp:45
D_particle & operator=(D_particle original)
Assignment operator (copy and swap).
Definition: deviational_particle.hpp:85
particle_sign sign
Sign of the particle.
Definition: deviational_particle.hpp:51
D_particle(const Eigen::VectorXd &_pos, std::size_t _q, std::size_t _alpha, particle_sign _sign, double _t)
Basic constructor.
Definition: deviational_particle.hpp:55
std::size_t alpha
Mode index.
Definition: deviational_particle.hpp:49
friend void swap(D_particle &a, D_particle &b)
Swap the data from two objects.
Definition: deviational_particle.hpp:75
particle_sign
Simple enum representing a sign.
Definition: deviational_particle.hpp:26
double t
Current time.
Definition: deviational_particle.hpp:53