CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch2/src/RecoTracker/NuclearSeedGenerator/interface/TangentHelix.h

Go to the documentation of this file.
00001 #ifndef _TangentHelix_H_
00002 #define _TangentHelix_H_
00003 
00004 #include "RecoTracker/NuclearSeedGenerator/interface/TangentCircle.h"
00005 
00006 class TangentHelix {
00007 
00008    public :
00009        TangentHelix(){}
00010 
00013        TangentHelix(const GlobalVector& direction, const GlobalPoint& innerPoint, const GlobalPoint& outerPoint) : 
00014             theInnerPoint(innerPoint), theOuterPoint(outerPoint), theVertexPoint(innerPoint), theCircle(direction, innerPoint, outerPoint), 
00015             theDirectionAtVertex(direction) {}
00016 
00018        TangentHelix(const GlobalPoint& outerPoint, const GlobalPoint& innerPoint, const GlobalPoint& vertexPoint) : 
00019            theInnerPoint(innerPoint), theOuterPoint(outerPoint), theVertexPoint(vertexPoint), theCircle(outerPoint, innerPoint, vertexPoint) {
00020            theDirectionAtVertex = GlobalVector(1000,1000,1000);
00021        }
00022 
00024        TangentHelix(const TangentHelix& primCircle, const GlobalPoint& outerPoint, const GlobalPoint& innerPoint);
00025 
00026        GlobalPoint outerPoint() const { return theOuterPoint; }
00027 
00028        GlobalPoint innerPoint() const { return theInnerPoint; }
00029 
00030        GlobalPoint vertexPoint() const { return theVertexPoint; }
00031 
00032        TangentCircle circle() const { return theCircle; }
00033 
00034        GlobalVector directionAtVertex() ;
00035 
00036        int charge(float magz) { return theCircle.charge(magz); }
00037 
00038        double rho() const { return theCircle.rho(); }
00039 
00040        double curvatureError() { return theCircle.curvatureError(); }
00041 
00042         double vertexError() { return theCircle.vertexError(); }
00043 
00044    private :
00045        GlobalPoint theInnerPoint;
00046        GlobalPoint theOuterPoint;
00047        GlobalPoint theVertexPoint;
00048 
00049        TangentCircle theCircle;
00050 
00051        GlobalVector theDirectionAtVertex;
00052 };
00053 
00054 #endif