CMS 3D CMS Logo

TangentCircle.h
Go to the documentation of this file.
1 #ifndef _TangentCircle_H_
2 #define _TangentCircle_H_
3 
6 
8 {
9 // TODO : for speed-up :
10 // typedef Point2DBase< float, GlobalTag> Global2DPoint;
11 // typedef Vector2DBase< float, GlobalTag> Global2DVector;
12 
13  public :
16  theX0(0), theY0(0), theRho(0), theVertexError(0),
17  valid(false), theCharge(0) {}
18 
22 
24  TangentCircle(const GlobalPoint& outerPoint, const GlobalPoint& innerPoint, const GlobalPoint& vertexPoint);
25 
27  TangentCircle(const TangentCircle& primCircle, const GlobalPoint& outerPoint, const GlobalPoint& innerPoint);
28 
31 
32  double x0() const {return theX0;}
33 
34  double y0() const {return theY0;}
35 
36  double rho() const {return theRho;}
37 
38  GlobalPoint outerPoint() const { return theOuterPoint; }
39 
40  GlobalPoint innerPoint() const { return theInnerPoint; }
41 
43 
44  double vertexError() const { return theVertexError; }
45 
46  double curvatureError();
47 
48  int charge(float magz);
49 
50  bool isValid() const { return isValid(); }
51 
52  private :
56 
58 
59  double theX0;
60  double theY0;
61  double theRho;
63  double theVertexError;
65  bool valid;
66  int theCharge;
67 
68  double isTangent(const TangentCircle& primCircle, const TangentCircle& secCircle) const;
69  GlobalPoint getPosition(const TangentCircle& circle, const GlobalPoint& initalPosition, double theta, int direction) const;
70  int chargeLocally(float magz, GlobalVector v) const;
72 
73 };
74 
75 #endif
double curvatureError()
double y0() const
Definition: TangentCircle.h:34
double x0() const
Definition: TangentCircle.h:32
Geom::Theta< T > theta() const
GlobalPoint innerPoint() const
Definition: TangentCircle.h:40
double vertexError() const
Definition: TangentCircle.h:44
GlobalPoint getPosition(const TangentCircle &circle, const GlobalPoint &initalPosition, double theta, int direction) const
double rho() const
Definition: TangentCircle.h:36
GlobalPoint theVertexPoint
Definition: TangentCircle.h:55
GlobalPoint outerPoint() const
Definition: TangentCircle.h:38
GlobalPoint theOuterPoint
Definition: TangentCircle.h:54
bool isValid() const
Definition: TangentCircle.h:50
GlobalVector directionAtVertex()
Return the direction at the vertex.
int chargeLocally(float magz, GlobalVector v) const
GlobalVector direction(const GlobalPoint &point) const
GlobalPoint theInnerPoint
Definition: TangentCircle.h:53
GlobalVector theDirectionAtVertex
Definition: TangentCircle.h:57
double theVertexError
Definition: TangentCircle.h:63
int charge(float magz)
double isTangent(const TangentCircle &primCircle, const TangentCircle &secCircle) const
GlobalPoint vertexPoint() const
Definition: TangentCircle.h:42
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5