PHSphPoint.h
#ifndef PHSPHPOINT_H
#define PHSPHPOINT_H
//---------------------------------------------------------------------------------------
// Class: PHSphPoint header
//
// Created by: Jane M. Burward-Hoy and Federica Messer
//
// Purpose: The Phenix 3D Spherical point
//
// Last update: 10/19/99
//--------------------------------------------------------------------------------------
#include <iostream.h>
#include "PHAngle.h"
class PHPoint;
class PHCylPoint;
class PHSphPoint
{
public:
PHSphPoint();
PHSphPoint(double r0, double p0, double t0 );
PHSphPoint(double r0, PHAngle p0, PHAngle t0);
PHSphPoint(const PHSphPoint &);
PHSphPoint(const PHPoint &);
PHSphPoint(const PHCylPoint &);
PHSphPoint& operator= (const PHSphPoint&);
PHSphPoint& operator= (const PHPoint&);
PHSphPoint& operator= (const PHCylPoint&);
//PHSphPoint operator- (const PHSphPoint &); //Subtraction of two points
//PHSphPoint operator- ();
//PHSphPoint operator* (const double &);
//PHSphPoint operator+ (const PHSphPoint &); //Addition of two points
double dist(const PHSphPoint &); //Distance between two points
~PHSphPoint();
void print() const ;
friend ostream& operator<<(ostream&, PHSphPoint &);
void setR(double val) { r = val;}
void setPhi(PHAngle val) { phi = val;}
void setTheta(PHAngle val) { theta = val;}
void setPhi(double val) { phi = (PHAngle) val;}
void setTheta(double val) { theta = (PHAngle) val;}
double getR() const {return r;}
PHAngle getPhi() const {return phi;}
PHAngle getTheta() const {return theta;}
private:
double r;
PHAngle phi;
PHAngle theta;
};
#endif /* PHSPHPOINT_H */