// ------------------------------------------------------------------------- // ----- CbmSttGeomPoint header file ----- // ----- Created 30/03/06 by R. Castelijns ----- // ------------------------------------------------------------------------- #ifndef CBMSTTGEOMPOINT_H #define CBMSTTGEOMPOINT_H 1 #include "math.h" #include "TObject.h" #include "TCanvas.h" class CbmSttGeomHelix; class CbmSttGeomLine; class CbmSttGeomCircle; class CbmSttGeomPoint : public TObject { public: /** Default constructor **/ CbmSttGeomPoint(); /** Standard constructor **/ CbmSttGeomPoint(Double_t x, Double_t y, Double_t z, Double_t dx = 0., Double_t dy = 0., Double_t dz = 0.); /** Copy constructor **/ CbmSttGeomPoint(CbmSttGeomPoint const &other); /** Destructor **/ virtual ~CbmSttGeomPoint(); Double_t GetX() const {return fX;} Double_t GetY() const {return fY;} Double_t GetZ() const {return fZ;} void SetX(Double_t newX) {fX = newX;} void SetY(Double_t newY) {fY = newY;} void SetZ(Double_t newZ) {fZ = newZ;} Double_t GetErrorX() const {return fErrorX;} Double_t GetErrorY() const {return fErrorY;} Double_t GetErrorZ() const {return fErrorZ;} void SetErrorX(Double_t newErrorX) {fErrorX = newErrorX;} void SetErrorY(Double_t newErrorY) {fErrorY = newErrorY;} void SetErrorZ(Double_t newErrorZ) {fErrorZ = newErrorZ;} Bool_t Is2D() const; Bool_t IsBetween(CbmSttGeomPoint thisCenter, CbmSttGeomPoint otherCenter) const; void Transform(Double_t x, Double_t y, Double_t z); Double_t DistanceTo(CbmSttGeomHelix myHelix) const; Double_t DistanceTo(CbmSttGeomPoint myPoint) const; Double_t DistanceTo(CbmSttGeomLine myLine) const; void Transform(); void Draw(Double_t size = 0.5, Int_t color = 1) const; void operator=(CbmSttGeomPoint const &other); private: Double_t fX; Double_t fY; Double_t fZ; Double_t fErrorX; Double_t fErrorY; Double_t fErrorZ; void Copy(CbmSttGeomPoint const &other); void Destroy(); ClassDef(CbmSttGeomPoint,1); }; #endif