PHPoint.h
#ifndef PHPOINT_H
#define PHPOINT_H
//---------------------------------------------------------------------------------------
// Class: PHPoint header
//
// Created by: Jane M. Burward-Hoy and Federica Messer
//
// Purpose: The Phenix 3D Cartesian point
//
// Last update: 10/19/99
//
//----------------------------------------------------------------------------
#include <iostream.h>
#include <CLHEP/Geometry/Point3D.h>
class PHCylPoint;
class PHSphPoint;
class PHVector;
class PHPoint : public HepPoint3D
{
public:
PHPoint();
PHPoint(double x, double y, double z);
PHPoint(const PHPoint &);
PHPoint(const PHSphPoint &);
PHPoint(const PHCylPoint &);
PHPoint(const PHVector &);
~PHPoint();
PHPoint& operator= (const PHPoint &);
PHPoint& operator= (const PHSphPoint &);
PHPoint& operator= (const PHCylPoint &);
PHPoint& operator= (const PHVector &);
PHPoint& operator= (const HepPoint3D &);
PHPoint& operator= (const Hep3Vector &);
PHPoint operator- (const PHPoint &) const;
PHPoint operator- ();
PHPoint operator* (const double &) const;
PHPoint operator+ (const PHPoint &) const;
double distanceToPoint(const PHPoint &) const;
void print() const;
friend ostream& operator<<(ostream& ,const PHPoint&);
double setX(double x) {Hep3Vector::setX(x);}
double setY(double y) {Hep3Vector::setY(y);}
double setZ(double z) {Hep3Vector::setZ(z);}
double getX() const {return Hep3Vector::x();}
double getY() const {return Hep3Vector::y();}
double getZ() const {return Hep3Vector::z();}
};
#endif /* PHPOINT_H */