CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/RecoTracker/TkSeedGenerator/interface/FastCircle.h

Go to the documentation of this file.
00001 #ifndef TR_FastCircle_H_
00002 #define TR_FastCircle_H_
00003 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00004 #include "DataFormats/Math/interface/AlgebraicROOTObjects.h"
00005 #include "FWCore/Utilities/interface/GCC11Compatibility.h"
00006 
00033 class FastCircle {
00034 
00035 public:
00036   
00037   FastCircle(const GlobalPoint& outerHit,
00038              const GlobalPoint& middleHit,
00039              const GlobalPoint& aVertex);
00040 
00041   FastCircle(const GlobalPoint& outerHit,
00042              const GlobalPoint& middleHit,
00043              const GlobalPoint& aVertex,
00044              double norm);
00045   
00046   ~FastCircle() {}
00047   
00048   // all returned values have dimensions of cm
00049   // parameters of the circle (circle is valid)
00050   double x0() const {return theX0;}
00051   
00052   double y0() const {return theY0;}
00053 
00054   double rho() const {return theRho;}
00055   
00056   bool isValid() const {return theValid;}
00057   
00058   // parameters of the straight line 
00059   // (if circle is invalid only these are available) 
00060   double n1() const {return theN1;}
00061   
00062   double n2() const {return theN2;}
00063   
00064   double c() const {return theC;}
00065   
00066   GlobalPoint const & outerPoint() const { return theOuterPoint;} 
00067   GlobalPoint const & innerPoint() const { return theInnerPoint;} 
00068   GlobalPoint const & vertexPoint() const { return theVertexPoint;} 
00069 
00070 
00071 private:
00072 
00073   GlobalPoint theOuterPoint; 
00074   GlobalPoint theInnerPoint; 
00075   GlobalPoint theVertexPoint; 
00076   double theNorm;
00077   
00078   double theX0;
00079   double theY0;
00080   double theRho;
00081   
00082   double theN1;
00083   double theN2;
00084   double theC;
00085   
00086   bool theValid;
00087   
00088   void createCircleParameters() dso_hidden;
00089    
00090 };
00091 
00092 #endif //TR_Circle_H_