IBSimu
1.0.4
|
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. | |
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 |
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) |
Return the number of trajectory intersections with plane crd = val on the trajectory from x1 to x2. Intersection points are appended to vector intsc. | |
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.
ParticlePCyl::ParticlePCyl | ( | ) | [inline] |
Default constuctor.
ParticlePCyl::ParticlePCyl | ( | double | t, |
double | x, | ||
double | vx, | ||
double | r, | ||
double | vr, | ||
double | w | ||
) | [inline] |
Constructor for cylindrical particle point.
static size_t ParticlePCyl::dim | ( | void | ) | [inline, static] |
Returns number of dimensions for geometry.
static geom_mode_e ParticlePCyl::geom_mode | ( | void | ) | [inline, static] |
Returns geometry mode.
static int ParticlePCyl::get_derivatives | ( | double | t, |
const double * | x, | ||
double * | dxdt, | ||
void * | data | ||
) | [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 .
double& ParticlePCyl::operator() | ( | int | i | ) | [inline] |
Operator for pointing to coordinate data.
const double& ParticlePCyl::operator() | ( | int | i | ) | const [inline] |
Operator for pointing to coordinate data.
ParticlePCyl ParticlePCyl::operator* | ( | double | x | ) | const [inline] |
ParticlePCyl ParticlePCyl::operator+ | ( | const ParticlePCyl & | pp | ) | const [inline] |
ParticlePCyl ParticlePCyl::operator- | ( | const ParticlePCyl & | pp | ) | const [inline] |
double& ParticlePCyl::operator[] | ( | int | i | ) | [inline] |
Operator for pointing to coordinate data.
const double& ParticlePCyl::operator[] | ( | int | i | ) | const [inline] |
Operator for pointing to coordinate data.
static size_t ParticlePCyl::size | ( | void | ) | [inline, static] |
Returns number of coordinates used for particle point.
double ParticlePCyl::speed | ( | ) | [inline] |
Returns speed of particle.
static int ParticlePCyl::trajectory_intersections_at_plane | ( | std::vector< ParticlePCyl > & | intsc, |
int | crd, | ||
double | val, | ||
const ParticlePCyl & | x1, | ||
const ParticlePCyl & | x2 | ||
) | [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.
ParticlePCyl operator* | ( | double | x, |
const ParticlePCyl & | pp | ||
) | [friend] |