// ------------------------------------------------------------------------- // ----- CbmSttGeomLine header file ----- // ----- Created 30/03/06 by R. Castelijns ----- // ------------------------------------------------------------------------- #ifndef CBMSTTGEOMLINE_H #define CBMSTTGEOMLINE_H 1 #include "TObject.h" #include "TCanvas.h" #include "CbmSttGeomPoint.h" class CbmSttGeomHelix; class CbmSttGeomLine : public TObject { public: /** Default constructor **/ CbmSttGeomLine(); /** Standard constructor **/ CbmSttGeomLine(Double_t x1, Double_t y1, Double_t z1, Double_t x2, Double_t y2, Double_t z2); CbmSttGeomLine(CbmSttGeomPoint startPoint, CbmSttGeomPoint endPoint); /** Destructor **/ virtual ~CbmSttGeomLine(); Double_t GetX1() const {return fX1;} Double_t GetY1() const {return fY1;} Double_t GetZ1() const {return fZ1;} Double_t GetX2() const {return fX2;} Double_t GetY2() const {return fY2;} Double_t GetZ2() const {return fZ2;} Double_t GetD0() const; Double_t GetPhi() const; Double_t GetTheta() const; Bool_t Is2D(); Bool_t IsParallelToZaxis() const; Int_t IntersectWith(CbmSttGeomCircle myCircle, CbmSttGeomPoint &answer1, CbmSttGeomPoint &answer2); CbmSttGeomPoint ClosestPointTo(CbmSttGeomPoint myPoint); Double_t DistanceTo(CbmSttGeomHelix myHelix); Double_t DistanceTo(CbmSttGeomPoint myPoint); void Transform(Double_t xtrans, Double_t ytrans, Double_t ztrans); void Draw(); private: Double_t fX1; Double_t fY1; Double_t fZ1; Double_t fX2; Double_t fY2; Double_t fZ2; ClassDef(CbmSttGeomLine,1); }; #endif