// ------------------------------------------------------------------------- // ----- CbmSttGeomCircle header file ----- // ----- Created 30/03/06 by R. Castelijns ----- // ------------------------------------------------------------------------- #ifndef CBMSTTGEOMCIRCLE_H #define CBMSTTGEOMCIRCLE_H 1 #include "CbmSttGeomPoint.h" #include "CbmSttGeomLine.h" #include "CbmSttHoughDefines.h" #include "TObject.h" #include class CbmSttGeomHelix; class CbmSttGeomCircle : public TObject { public: /** Default constructor **/ CbmSttGeomCircle(); /** Standard constructor **/ CbmSttGeomCircle(Double_t xcenter, Double_t yCenter, Double_t radius); CbmSttGeomCircle(CbmSttGeomPoint center, Double_t radius); CbmSttGeomCircle(CbmSttGeomPoint edgepoint, Double_t radius, Double_t phi); /** Destructor **/ virtual ~CbmSttGeomCircle(); /** calculate intersection points with a line */ Int_t IntersectWith(CbmSttGeomLine line, CbmSttGeomPoint &answer1, CbmSttGeomPoint &answer2); /** calculate intersection points with a another circle */ Int_t IntersectWith(CbmSttGeomCircle circle, CbmSttGeomPoint &answer1, CbmSttGeomPoint &answer2); Double_t DistanceTo(CbmSttGeomPoint myPoint); Double_t GetPhi(); Double_t GetD0(); Double_t GetXcenter() const {return fXcenter;} Double_t GetYcenter() const {return fYcenter;} Double_t GetRadius() const {return fRadius;} void Transform(Double_t x, Double_t y); private: Double_t fRadius; Double_t fXcenter; Double_t fYcenter; ClassDef(CbmSttGeomCircle,1); }; #endif