CMS 3D CMS Logo

Public Member Functions | Private Attributes

TangentHelix Class Reference

#include <TangentHelix.h>

List of all members.

Public Member Functions

int charge (float magz)
TangentCircle circle () const
double curvatureError ()
GlobalVector directionAtVertex ()
GlobalPoint innerPoint () const
GlobalPoint outerPoint () const
double rho () const
 TangentHelix (const TangentHelix &primCircle, const GlobalPoint &outerPoint, const GlobalPoint &innerPoint)
 Calculate the parameters of the helix which pass by 2 points (innerPoint and outerPoint) and which is tangent to primHelix.
 TangentHelix (const GlobalPoint &outerPoint, const GlobalPoint &innerPoint, const GlobalPoint &vertexPoint)
 Calculate Helix from 3 points.
 TangentHelix (const GlobalVector &direction, const GlobalPoint &innerPoint, const GlobalPoint &outerPoint)
 TangentHelix ()
double vertexError ()
GlobalPoint vertexPoint () const

Private Attributes

TangentCircle theCircle
GlobalVector theDirectionAtVertex
GlobalPoint theInnerPoint
GlobalPoint theOuterPoint
GlobalPoint theVertexPoint

Detailed Description

Definition at line 6 of file TangentHelix.h.


Constructor & Destructor Documentation

TangentHelix::TangentHelix ( ) [inline]

Definition at line 9 of file TangentHelix.h.

{}
TangentHelix::TangentHelix ( const GlobalVector direction,
const GlobalPoint innerPoint,
const GlobalPoint outerPoint 
) [inline]

Calculate the helix from 2 points on the circle (the vertex=innerPoint and the outerPoint) and the tangent direction at the inner point

Definition at line 13 of file TangentHelix.h.

                                                                                                                 : 
            theInnerPoint(innerPoint), theOuterPoint(outerPoint), theVertexPoint(innerPoint), theCircle(direction, innerPoint, outerPoint), 
            theDirectionAtVertex(direction) {}
TangentHelix::TangentHelix ( const GlobalPoint outerPoint,
const GlobalPoint innerPoint,
const GlobalPoint vertexPoint 
) [inline]

Calculate Helix from 3 points.

Definition at line 18 of file TangentHelix.h.

References theDirectionAtVertex.

                                                                                                                  : 
           theInnerPoint(innerPoint), theOuterPoint(outerPoint), theVertexPoint(vertexPoint), theCircle(outerPoint, innerPoint, vertexPoint) {
           theDirectionAtVertex = GlobalVector(1000,1000,1000);
       }
TangentHelix::TangentHelix ( const TangentHelix primCircle,
const GlobalPoint outerPoint,
const GlobalPoint innerPoint 
)

Calculate the parameters of the helix which pass by 2 points (innerPoint and outerPoint) and which is tangent to primHelix.

Definition at line 3 of file TangentHelix.cc.

References debug_cff::d1, mag(), theCircle, theDirectionAtVertex, theVertexPoint, TangentCircle::vertexPoint(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

                                                                                                                       :
     theInnerPoint(innerPoint), theOuterPoint(outerPoint), theCircle(primCircle.circle(), outerPoint, innerPoint) {

   // Calculation of vertex.z :
   GlobalPoint inner_T( innerPoint.x() , innerPoint.y() , 0.0 );
   GlobalPoint outer_T( outerPoint.x() , outerPoint.y() , 0.0 );
   GlobalPoint vtx_T( theCircle.vertexPoint().x() , theCircle.vertexPoint().y() , 0.0 );

   double d1 = (inner_T - vtx_T).mag();
   double d = (inner_T - outer_T).mag();

   theVertexPoint = GlobalPoint(vtx_T.x() , vtx_T.y(), innerPoint.z() - (outerPoint.z() - innerPoint.z()) * d1 / d );
   theDirectionAtVertex = GlobalVector(1000, 1000, 1000);
}

Member Function Documentation

int TangentHelix::charge ( float  magz) [inline]

Definition at line 36 of file TangentHelix.h.

References TangentCircle::charge(), and theCircle.

Referenced by SeedFromNuclearInteraction::stateWithError().

{ return theCircle.charge(magz); }
TangentCircle TangentHelix::circle ( ) const [inline]

Definition at line 32 of file TangentHelix.h.

References theCircle.

{ return theCircle; }
double TangentHelix::curvatureError ( ) [inline]

Definition at line 40 of file TangentHelix.h.

References TangentCircle::curvatureError(), and theCircle.

{ return theCircle.curvatureError(); }
GlobalVector TangentHelix::directionAtVertex ( )
GlobalPoint TangentHelix::innerPoint ( ) const [inline]

Definition at line 28 of file TangentHelix.h.

References theInnerPoint.

{ return theInnerPoint; }
GlobalPoint TangentHelix::outerPoint ( ) const [inline]

Definition at line 26 of file TangentHelix.h.

References theOuterPoint.

{ return theOuterPoint; }
double TangentHelix::rho ( ) const [inline]

Definition at line 38 of file TangentHelix.h.

References TangentCircle::rho(), and theCircle.

Referenced by SeedFromNuclearInteraction::stateWithError().

{ return theCircle.rho(); }
double TangentHelix::vertexError ( ) [inline]

Definition at line 42 of file TangentHelix.h.

References theCircle, and TangentCircle::vertexError().

Referenced by SeedFromNuclearInteraction::stateWithError().

{ return theCircle.vertexError(); }
GlobalPoint TangentHelix::vertexPoint ( ) const [inline]

Definition at line 30 of file TangentHelix.h.

References theVertexPoint.

Referenced by SeedFromNuclearInteraction::stateWithError().

{ return theVertexPoint; }

Member Data Documentation

Definition at line 51 of file TangentHelix.h.

Referenced by directionAtVertex(), and TangentHelix().

Definition at line 45 of file TangentHelix.h.

Referenced by directionAtVertex(), and innerPoint().

Definition at line 46 of file TangentHelix.h.

Referenced by directionAtVertex(), and outerPoint().

Definition at line 47 of file TangentHelix.h.

Referenced by TangentHelix(), and vertexPoint().