CMS 3D CMS Logo

FastCircle.h
Go to the documentation of this file.
1 #ifndef TR_FastCircle_H_
2 #define TR_FastCircle_H_
6 
33 class FastCircle {
34 
35 public:
36 
37  FastCircle(const GlobalPoint& outerHit,
38  const GlobalPoint& middleHit,
39  const GlobalPoint& aVertex);
40 
41  FastCircle(const GlobalPoint& outerHit,
42  const GlobalPoint& middleHit,
43  const GlobalPoint& aVertex,
44  double norm);
45 
47 
48  // all returned values have dimensions of cm
49  // parameters of the circle (circle is valid)
50  double x0() const {return theX0;}
51 
52  double y0() const {return theY0;}
53 
54  double rho() const {return theRho;}
55 
56  bool isValid() const {return theValid;}
57 
58  bool isLine() const {return theIsLine;}
59 
60  // parameters of the straight line
61  // (if circle is invalid only these are available)
62  double n1() const {return theN1;}
63 
64  double n2() const {return theN2;}
65 
66  double c() const {return theC;}
67 
68  GlobalPoint const & outerPoint() const { return theOuterPoint;}
69  GlobalPoint const & innerPoint() const { return theInnerPoint;}
70  GlobalPoint const & vertexPoint() const { return theVertexPoint;}
71 
72 
73 private:
74 
78  double theNorm;
79 
80  double theX0;
81  double theY0;
82  double theRho;
83 
84  double theN1;
85  double theN2;
86  double theC;
87 
88  bool theValid;
89  bool theIsLine;
90 
92 
93 };
94 
95 #endif //TR_Circle_H_
double theNorm
Definition: FastCircle.h:78
double x0() const
Definition: FastCircle.h:50
bool isLine() const
Definition: FastCircle.h:58
void createCircleParameters()
Definition: FastCircle.cc:64
FastCircle(const GlobalPoint &outerHit, const GlobalPoint &middleHit, const GlobalPoint &aVertex)
Definition: FastCircle.cc:4
double n2() const
Definition: FastCircle.h:64
double rho() const
Definition: FastCircle.h:54
bool theValid
Definition: FastCircle.h:88
GlobalPoint const & outerPoint() const
Definition: FastCircle.h:68
bool isValid() const
Definition: FastCircle.h:56
double theY0
Definition: FastCircle.h:81
double theC
Definition: FastCircle.h:86
double n1() const
Definition: FastCircle.h:62
double c() const
Definition: FastCircle.h:66
double theN2
Definition: FastCircle.h:85
double theX0
Definition: FastCircle.h:80
GlobalPoint theInnerPoint
Definition: FastCircle.h:76
double theRho
Definition: FastCircle.h:82
GlobalPoint const & innerPoint() const
Definition: FastCircle.h:69
#define dso_hidden
Definition: Visibility.h:12
GlobalPoint theOuterPoint
Definition: FastCircle.h:75
double y0() const
Definition: FastCircle.h:52
GlobalPoint theVertexPoint
Definition: FastCircle.h:77
double theN1
Definition: FastCircle.h:84
GlobalPoint const & vertexPoint() const
Definition: FastCircle.h:70
bool theIsLine
Definition: FastCircle.h:89