ROOT logo
#ifndef HGEOMVECTOR2_H
#define HGEOMVECTOR2_H
using namespace std;
#include "TObject.h"
#include "TMath.h"
#include <math.h>
#include <iostream> 
#include <iomanip>
#include "hgeomvector.h"


class HGeomVector2 : public HGeomVector {
protected:
  Double_t Rad;
  Double_t Phi;
  Double_t Theta;
public:
  HGeomVector2(Double_t dx=0,Double_t dy=0,Double_t dz=0):  
      HGeomVector(dx,dy,dz)
  {
      Rad=Phi=Theta=0.0;
  }
  HGeomVector2(const HGeomVector& v) : HGeomVector(v)
  {
      Rad=Phi=Theta=0.0;
  }
  ~HGeomVector2() {}
  Double_t getRad() const {return Rad;}
  Double_t getPhi() const {return Phi;}
  Double_t getTheta() const {return Theta;}
  void setRad(const Double_t a) {Rad=a;}
  void setPhi(const Double_t a) {Phi=a;}
  void setTheta(const Double_t a) {Theta=a;}
  void sphereCoord(Float_t& rad, Float_t& theta, Float_t& phi);
//  friend ostream& operator << (ostream& put,const HGeomVector& v);
//  friend istream& operator >> (istream& get,HGeomVector& v);

  ClassDef(HGeomVector2,1) // vector with 3 spherical components
};

// -------------------- inlines ---------------------------

inline void HGeomVector2::sphereCoord(Float_t& rad, Float_t& theta, Float_t& phi) {
  Double_t r,k;

  rad = length();
  k = 180./(TMath::Pi());

  theta = k*(TMath::ACos(z/rad));

  r = TMath::Sqrt(x*x+y*y);
  phi = k*(TMath::ACos(x/r));
  if (y<0) phi = 360. - phi;
}

/*
inline ostream& operator << (ostream& put,const HGeomVector& v) {
  return put<<v(0)<<"  "<<v(1)<<"  "<<v(2)<<'\n';
}

inline istream& operator >> (istream& get,HGeomVector& v) {
  Double_t x[3];
  get>>x[0]>>x[1]>>x[2];
  v.setVector(x);
  return get;
}
*/

#endif /* !HGEOMVECTOR_H */

 hgeomvector2.h:1
 hgeomvector2.h:2
 hgeomvector2.h:3
 hgeomvector2.h:4
 hgeomvector2.h:5
 hgeomvector2.h:6
 hgeomvector2.h:7
 hgeomvector2.h:8
 hgeomvector2.h:9
 hgeomvector2.h:10
 hgeomvector2.h:11
 hgeomvector2.h:12
 hgeomvector2.h:13
 hgeomvector2.h:14
 hgeomvector2.h:15
 hgeomvector2.h:16
 hgeomvector2.h:17
 hgeomvector2.h:18
 hgeomvector2.h:19
 hgeomvector2.h:20
 hgeomvector2.h:21
 hgeomvector2.h:22
 hgeomvector2.h:23
 hgeomvector2.h:24
 hgeomvector2.h:25
 hgeomvector2.h:26
 hgeomvector2.h:27
 hgeomvector2.h:28
 hgeomvector2.h:29
 hgeomvector2.h:30
 hgeomvector2.h:31
 hgeomvector2.h:32
 hgeomvector2.h:33
 hgeomvector2.h:34
 hgeomvector2.h:35
 hgeomvector2.h:36
 hgeomvector2.h:37
 hgeomvector2.h:38
 hgeomvector2.h:39
 hgeomvector2.h:40
 hgeomvector2.h:41
 hgeomvector2.h:42
 hgeomvector2.h:43
 hgeomvector2.h:44
 hgeomvector2.h:45
 hgeomvector2.h:46
 hgeomvector2.h:47
 hgeomvector2.h:48
 hgeomvector2.h:49
 hgeomvector2.h:50
 hgeomvector2.h:51
 hgeomvector2.h:52
 hgeomvector2.h:53
 hgeomvector2.h:54
 hgeomvector2.h:55
 hgeomvector2.h:56
 hgeomvector2.h:57
 hgeomvector2.h:58
 hgeomvector2.h:59
 hgeomvector2.h:60
 hgeomvector2.h:61
 hgeomvector2.h:62
 hgeomvector2.h:63
 hgeomvector2.h:64
 hgeomvector2.h:65
 hgeomvector2.h:66
 hgeomvector2.h:67
 hgeomvector2.h:68
 hgeomvector2.h:69
 hgeomvector2.h:70