1 #ifndef L3_COORDINATES_H
2 #define L3_COORDINATES_H
13 { x = _x ; y = _y ; z = _z ; } ;
14 void set (
float _x,
float _y,
float _z )
15 { x = _x ; y = _y ; z = _z ; } ;
41 Setxyz(hit.x, hit.y, hit.z);
45 Setxyz(hit.x, hit.y, hit.z);
51 double Getx()
const {
return xyz[0] ; } ;
52 double Gety()
const {
return xyz[1] ; } ;
53 double Getz()
const {
return xyz[2] ; } ;
54 double* Getxyz() {
return xyz ; } ;
56 inline double Getr() {
57 return sqrt ( xyz[0]*xyz[0] +
62 inline double Gettheta() {
63 return atan2(hypot(xyz[0], xyz[1]), xyz[2]);
66 inline double Geteta() {
67 return - log(tan(Gettheta()/2));
70 inline double Getphi() {
71 return atan2(xyz[1], xyz[0]);
76 void Setx(
double X) { xyz[0] = X ; } ;
77 void Sety(
double Y) { xyz[1] = Y ; } ;
78 void Setz(
double Z) { xyz[2] = Z ; } ;
79 void Setxyz(
double X,
double Y,
double Z )
106 inline double Getp()
const {
return ptrs[0] ; } ;
107 inline double Gett()
const {
return ptrs[1] ; } ;
108 inline double Getr()
const {
return ptrs[2] ; } ;
109 inline double Gets()
const {
return ptrs[3] ; } ;
110 inline double* Getptrs() {
return ptrs ; } ;
112 inline void Setp(
double P) { ptrs[0] = P ; } ;
113 inline void Sett(
double T) { ptrs[1] = T ; } ;
114 inline void Setr(
double R) { ptrs[2] = R ; } ;
115 inline void Sets(
double S) { ptrs[3] = S ; } ;
116 inline void Setptrs(
double P,
double T,
double R,
double S ) {