9 #ifndef _utl_AxialVector_h_
10 #define _utl_AxialVector_h_
12 #include <utl/BasicVector.h>
13 #include <utl/Vector.h>
14 #include <utl/CoordinateSystem.h>
16 #include <CLHEP/Geometry/Normal3D.h>
92 #include <utl/OperationsAV.h>
friend AxialVector Cross(const Vector &l, const Vector &r)
AxialVector(double x, double y, double z, const CoordinateSystemPtr &theCoordinateSystem)
Construct axial vector from coordinates in a given coordinate system.
AxialVector(const AxialVectorBase::DataType &theVector, const CoordinateSystemPtr &theCoordinateSystem)
Constructor from internal components for use by operators.
AxialVector(double p1, double p2, double p3, const CoordinateSystemPtr &theCoordinateSystem, const CoordinateType &theType)
Construct an axial vector from arbitraty representation.
double GetR(const CoordinateSystemPtr &coordinateSystem) const
radius r in spherical coordinates coordinates (distance to origin)
void Normalize()
normalize the vector
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
Basic vector class template for geometry.
double GetR2(const CoordinateSystemPtr &coordinateSystem) const
radius r^2 in spherical coordinates coordinates (distance to origin)^2
AxialVector Normalized(const AxialVector &v)
AxialVector(const Vector &a)
Constructor for automatic conversion from Vector to AxialVector.
CoordinateSystemPtr fCoordinateSystem
Base class for classes indicating coordinate types.