Simple three dimensional vector providing the components for cartesian, cylindrical and spherical coordinate systems - internal reperesentation is cartesian. More...
#include <Vector3D.h>
Classes | |
struct | Cartesian |
struct | Cylindrical |
struct | Spherical |
Public Member Functions | |
Vector3D () | |
Default c'tor - zero vector. | |
Vector3D (const float *v) | |
Constructor for float array. More... | |
Vector3D (const double *v) | |
Constructor for double array. More... | |
template<class T > | |
Vector3D (double x, double y, double z, T(&)()) | |
Templated c'tor - allows to have overloaded c'tors for different coordinates. | |
Vector3D (double xx, double yy, double zz) | |
Default corrdinate system for initialization is cartesian. | |
template<class T > | |
Vector3D (const T &t) | |
Copy c'tor for three vectors from other packages - requires T::x(),T::y(), T::z(). | |
double | x () const |
Cartesian x coordinate. | |
double | y () const |
Cartesian y coordinate. | |
double | z () |
Cartesian cartesian z coordinate. | |
double | x () |
Assign to cartesian x coordinate. | |
double | y () |
Assign to cartesian y coordinate. | |
double | z () const |
Assign to cartesian z coordinate. | |
double | operator[] (int i) const |
Accessing x,y,z with bracket operator. | |
double & | operator[] (int i) |
Accessing x,y,z with bracket operator for assignment. | |
double | phi () const |
Azimuthal angle - cylindrical and spherical. | |
double | rho () const |
Transversal component - cylindrical 'r'. | |
double | trans () const |
Transversal component. | |
double | trans2 () const |
Transversal component squared. | |
double | r () const |
Spherical r/magnitude. | |
double | r2 () const |
Spherical r/magnitude, squared. | |
double | theta () const |
Polar angle - spherical. | |
double | dot (const Vector3D &v) |
Scalar product. | |
Vector3D | cross (const Vector3D &v) |
Vector product. | |
Vector3D | unit () |
Parallel unit vector. | |
template<class T > | |
operator T () | |
Implicit templated conversion to anything that has a c'tor T(x,y,z) and accessor functions x(),y(),z(). More... | |
template<class T > | |
T | to () |
Explicit, unchecked conversion to anything that has a c'tor T(x,y,z). More... | |
template<> | |
Vector3D (double xx, double yy, double zz, Vector3D::Cartesian(&)()) | |
Cartesian c'tor - example: Vector3D v( x, y, c , Vector3D::cartesian ) ;. More... | |
Static Public Member Functions | |
static Cartesian | cartesian () |
static Cylindrical | cylindrical () |
static Spherical | spherical () |
Protected Attributes | |
double | _x =0 |
double | _y =0 |
double | _z =0 |
Simple three dimensional vector providing the components for cartesian, cylindrical and spherical coordinate systems - internal reperesentation is cartesian.
Definition at line 18 of file Vector3D.h.
|
inline |
Constructor for float array.
Definition at line 27 of file Vector3D.h.
|
inline |
Constructor for double array.
Definition at line 30 of file Vector3D.h.
|
inline |
Cartesian c'tor - example:
Vector3D v( x, y, c , Vector3D::cartesian ) ;.
Spherical c'tor - example:
Vector3D v( r, phi, theta , Vector3D::spherical ) ;.
Cylindrical c'tor - example:
Vector3D v( rho, phi, z , Vector3D::cylindrical ) ;.
Definition at line 237 of file Vector3D.h.
|
inline |
|
inline |
Explicit, unchecked conversion to anything that has a c'tor T(x,y,z).
Example: CLHEP::Vector3D clhv = v.to< CLHEP::Vector3D>() ;
Definition at line 183 of file Vector3D.h.