Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
Vector Class Reference

This class represents a three-vector. Operators are overloaded to provide for the familiar operations of vector addition, subtraction, scalar multiplication and division, and the dot product. More...

#include <vector.hh>

Public Member Functions

double operator[] (int i) const
 
 Vector (double x_inp, double y_inp, double z_inp)
 
 Vector (double *xarray)
 
 Vector (double theta, double phi)
 
Vector RotateX (double angle) const
 
Vector RotateY (double angle) const
 
Vector RotateZ (double angle) const
 
Vector Cross (const Vector &vec) const
 
double Dot (const Vector &vec) const
 
Vector Rotate (double angle, const Vector &axis) const
 
Vector Zero ()
 
double Mag2 () const
 
double Mag () const
 
double Angle (const Vector &vec) const
 
Vector ChangeCoord (const Vector &new_x_axis, const Vector &new_y_axis) const
 
Vector ChangeCoord (const Vector &new_z_axis) const
 
Vector Orthogonal () const
 
Vector Unit () const
 
double GetX () const
 
double GetY () const
 
double GetZ () const
 
double X () const
 
double Y () const
 
double Z () const
 
double Theta () const
 
double Phi () const
 
void Print () const
 
void SetX (double inp)
 
void SetY (double inp)
 
void SetZ (double inp)
 
void SetXYZ (double inpx, double inpy, double inpz)
 
void Reset (double x_inp, double y_inp, double z_inp)
 

Protected Member Functions

void UpdateThetaPhi () const
 

Protected Attributes

double x
 
double y
 
double z
 
double theta
 
double phi
 
bool angles_need_updating
 

Friends

Vector operator+ (const Vector &vector1, const Vector &vector2)
 
void operator+= (Vector &vector1, const Vector &vector2)
 
Vector operator- (const Vector &vector1, const Vector &vector2)
 
void operator-= (Vector &vector1, const Vector &vector2)
 
Vector operator- (const Vector &vec)
 
double operator* (const Vector &vector1, const Vector &vector2)
 
Vector operator/ (const Vector &v, const double &a)
 
Vector operator* (const double &a, const Vector &v)
 
Vector operator* (const Vector &v, const double &a)
 
ostream & operator<< (ostream &outs, const Vector &vec)
 

Detailed Description

This class represents a three-vector. Operators are overloaded to provide for the familiar operations of vector addition, subtraction, scalar multiplication and division, and the dot product.

Definition at line 27 of file vector.hh.

Inheritance diagram for Vector:
Inheritance graph
[legend]
Collaboration diagram for Vector:
Collaboration graph
[legend]

The documentation for this class was generated from the following files: