icemc
 All Classes Namespaces Files Functions Variables Friends Macros Pages
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>

Inheritance diagram for Vector:
Position

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 ()
 
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 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 Unit () const
 
double GetX () const
 
double GetY () const
 
double GetZ () 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 ()
 

Protected Attributes

double x
 
double y
 
double z
 
double theta
 
double phi
 

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)
 
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.

Constructor & Destructor Documentation

Vector::Vector ( double  x_inp,
double  y_inp,
double  z_inp 
)
Vector::Vector ( double *  xarray)
Vector::Vector ( double  theta,
double  phi 
)
Vector::Vector ( )

Member Function Documentation

double Vector::Angle ( const Vector vec) const
Vector Vector::ChangeCoord ( const Vector new_x_axis,
const Vector new_y_axis 
) const
Vector Vector::ChangeCoord ( const Vector new_z_axis) const
Vector Vector::Cross ( const Vector vec) const
double Vector::Dot ( const Vector vec) const
double Vector::GetX ( ) const
double Vector::GetY ( ) const
double Vector::GetZ ( ) const
double Vector::Mag ( ) const
double Vector::operator[] ( int  i) const
double Vector::Phi ( ) const
void Vector::Print ( ) const
void Vector::Reset ( double  x_inp,
double  y_inp,
double  z_inp 
)
Vector Vector::Rotate ( double  angle,
const Vector axis 
) const
Vector Vector::RotateX ( double  angle) const
Vector Vector::RotateY ( double  angle) const
Vector Vector::RotateZ ( double  angle) const
void Vector::SetX ( double  inp)
void Vector::SetXYZ ( double  inpx,
double  inpy,
double  inpz 
)
void Vector::SetY ( double  inp)
void Vector::SetZ ( double  inp)
double Vector::Theta ( ) const
Vector Vector::Unit ( ) const
void Vector::UpdateThetaPhi ( )
protected
Vector Vector::Zero ( )

Friends And Related Function Documentation

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

Member Data Documentation

double Vector::phi
protected
double Vector::theta
protected
double Vector::x
protected
double Vector::y
protected
double Vector::z
protected

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