Particle point class for cylindrical coordinates. More...
#include <particles.hpp>
Public Member Functions | |
ParticlePCyl () | |
Default constuctor. | |
ParticlePCyl (double t, double x, double vx, double r, double vr, double w) | |
Constructor for cylindrical particle point. | |
ParticlePCyl (std::istream &s) | |
Constructor for loading particle point from a file. | |
Vec3D | location () const |
Returns the location of particle point in Vec3D. | |
Vec3D | velocity () const |
Returns the velocity of particle point in Vec3D. | |
double | speed () |
Returns speed of particle. | |
double & | operator[] (int i) |
Operator for pointing to coordinate data. | |
const double & | operator[] (int i) const |
Operator for pointing to coordinate data. | |
double & | operator() (int i) |
Operator for pointing to coordinate data. | |
const double & | operator() (int i) const |
Operator for pointing to coordinate data. | |
ParticlePCyl | operator+ (const ParticlePCyl &pp) const |
ParticlePCyl | operator- (const ParticlePCyl &pp) const |
ParticlePCyl | operator* (double x) const |
void | save (std::ostream &s) const |
Saves data to stream. | |
Static Public Member Functions | |
static geom_mode_e | geom_mode () |
Returns geometry mode. | |
static size_t | dim () |
Returns number of dimensions for geometry. | |
static size_t | size () |
Returns number of coordinates used for particle point. | |
static int | get_derivatives (double t, const double *x, double *dxdt, void *data) |
Returns time derivatives dxdt of coordinates at time t and coordinates x = (x,vx,r,vr,w) for one particle. | |
static int | trajectory_intersections_at_plane (std::vector< ParticlePCyl > &intsc, int crd, double val, const ParticlePCyl &x1, const ParticlePCyl &x2, int extrapolate=0) |
Return the number of trajectory intersections with plane crd = val on the trajectory from x1 to x2. Intersection points are appended to vector intsc. | |
static const std::string | IQ_unit () |
Return string representation for unit of current. | |
Friends | |
ParticlePCyl | operator* (double x, const ParticlePCyl &pp) |
Particle point class for cylindrical coordinates.
A collection of particle coordinates (t,x,vx,y,vy,w) to describe time, location and velocity in cylindrical coordinates.
|
inline |
Default constuctor.
|
inline |
Constructor for cylindrical particle point.
|
inline |
Constructor for loading particle point from a file.
|
inlinestatic |
Returns number of dimensions for geometry.
|
inlinestatic |
Returns geometry mode.
|
static |
Returns time derivatives dxdt of coordinates at time t and coordinates x = (x,vx,r,vr,w) for one particle.
The calculation of particle trajectory is done by integrating the Lorentz equation in a form of a set of ordinary differential equations. In the case of cylindrical coordinates the set is:
where .
|
inlinestatic |
Return string representation for unit of current.
Returns "A".
|
inline |
Operator for pointing to coordinate data.
|
inline |
Operator for pointing to coordinate data.
|
inline |
|
inline |
|
inline |
|
inline |
Operator for pointing to coordinate data.
|
inline |
Operator for pointing to coordinate data.
|
inline |
Saves data to stream.
|
inlinestatic |
Returns number of coordinates used for particle point.
|
inline |
Returns speed of particle.
|
static |
Return the number of trajectory intersections with plane crd = val on the trajectory from x1 to x2. Intersection points are appended to vector intsc.
|
friend |