\section{Helix\-Class\-\_\-double Class Reference}
\label{classHelixClass__double}\index{Helix\-Class\-\_\-double@{Helix\-Class\-\_\-double}}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\bf Helix\-Class\-\_\-double} ()
\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
{\bf $\sim$\-Helix\-Class\-\_\-double} ()\label{classHelixClass__double_a8f32b90d6c2ea3c20411f56b3d815f92}

\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
void {\bf Initialize\-\_\-\-V\-P} (double $\ast$pos, double $\ast$mom, double q, double B)
\begin{DoxyCompactList}\small\item\em Initialization of helix using \par
 \end{DoxyCompactList}\item 
void {\bf Initialize\-\_\-\-B\-Z} (double x\-Centre, double y\-Centre, double radius, double b\-Z, double phi0, double B, double sign\-Pz, double z\-Begin)
\begin{DoxyCompactList}\small\item\em Initialization of helix according to the following\par
 parameterization\par
 x = x\-Centre + radius$\ast$cos(b\-Z$\ast$z + phi0)\par
 y = y\-Centre + radius$\ast$sin(b\-Z$\ast$z + phi0)\par
 where (x,y,z) -\/ position of point on the helix\par
 \end{DoxyCompactList}\item 
void {\bf Initialize\-\_\-\-Canonical} (double phi0, double d0, double z0, double omega, double tanlambda, double B)
\begin{DoxyCompactList}\small\item\em Canonical (L\-E\-P-\/wise) parameterisation with the following parameters\par
 \end{DoxyCompactList}\item 
const double $\ast$ {\bf get\-Momentum} ()\label{classHelixClass__double_aa5f87e44c2293d0b1ec94a350e6c32f3}

\begin{DoxyCompactList}\small\item\em Returns momentum of particle at the point of closest approach \par
 to I\-P \par
 \end{DoxyCompactList}\item 
const double $\ast$ {\bf get\-Reference\-Point} ()\label{classHelixClass__double_aaead5aa41c7ebb6f03e7b726063d1d9a}

\begin{DoxyCompactList}\small\item\em Returns reference point of track \par
 \end{DoxyCompactList}\item 
double {\bf get\-Phi0} ()\label{classHelixClass__double_a224eff4a9db64664ee98293fe7d0a1b4}

\begin{DoxyCompactList}\small\item\em Returns Phi angle of the momentum vector \par
 at the point of closest approach to I\-P \par
 \end{DoxyCompactList}\item 
double {\bf get\-D0} ()\label{classHelixClass__double_a019e1175032edd840028354b9d5b2acb}

\begin{DoxyCompactList}\small\item\em Returns signed distance of closest approach \par
 to I\-P in the R-\/\-Phi plane \par
 \end{DoxyCompactList}\item 
double {\bf get\-Z0} ()\label{classHelixClass__double_a34cea52659d2508391428f92c8bc346b}

\begin{DoxyCompactList}\small\item\em Returns z coordinate of the point of closest approach to I\-P in the R-\/\-Phi plane \par
 \end{DoxyCompactList}\item 
double {\bf get\-Omega} ()\label{classHelixClass__double_af5d502a903be5a7e1aad21c426c6e6e3}

\begin{DoxyCompactList}\small\item\em Returns signed curvature of the track \par
 \end{DoxyCompactList}\item 
double {\bf get\-Tan\-Lambda} ()\label{classHelixClass__double_a2b72d9c62f54765617dbf46d655f44c9}

\begin{DoxyCompactList}\small\item\em Returns tangent of dip angle of the track \par
 \end{DoxyCompactList}\item 
double {\bf get\-P\-X\-Y} ()\label{classHelixClass__double_ae6adfad20becdaa9ff259e5648a2000d}

\begin{DoxyCompactList}\small\item\em Returns transverse momentum of the track \par
 \end{DoxyCompactList}\item 
double {\bf get\-X\-C} ()\label{classHelixClass__double_ad45a202dc27597997eff3ac55573cef2}

\begin{DoxyCompactList}\small\item\em Returns x coordinate of circumference. \end{DoxyCompactList}\item 
double {\bf get\-Y\-C} ()\label{classHelixClass__double_a797015b187fc297f2bbe592ebda13ce5}

\begin{DoxyCompactList}\small\item\em Returns y coordinate of circumference. \end{DoxyCompactList}\item 
double {\bf get\-Radius} ()\label{classHelixClass__double_ae8012784c1e01d54f04de49d7d22aa5c}

\begin{DoxyCompactList}\small\item\em Returns radius of circumference. \end{DoxyCompactList}\item 
double {\bf get\-Point\-In\-X\-Y} (double x0, double y0, double ax, double ay, double $\ast$ref, double $\ast$point)
\begin{DoxyCompactList}\small\item\em Returns helix intersection point with the plane \par
 parallel to z axis. \end{DoxyCompactList}\item 
double {\bf get\-Point\-In\-Z} (double z\-Line, double $\ast$ref, double $\ast$point)
\begin{DoxyCompactList}\small\item\em Returns helix intersection point with the plane \par
 perpendicular to z axis. \end{DoxyCompactList}\item 
double {\bf get\-Distance\-To\-Point} (double $\ast$x\-Point, double $\ast$Distance)
\begin{DoxyCompactList}\small\item\em Return distance of the closest approach of the helix to \par
 arbitrary 3\-D point in space. \end{DoxyCompactList}\item 
double {\bf get\-Distance\-To\-Point} (const double $\ast$x\-Point, double dist\-Cut)
\begin{DoxyCompactList}\small\item\em Return distance of the closest approach of the helix to \par
 arbitrary 3\-D point in space. \end{DoxyCompactList}\item 
double {\bfseries get\-Distance\-To\-Point} (const std\-::vector$<$ double $>$ \&x\-Point, double dist\-Cut)\label{classHelixClass__double_ab9216292a5ad66c6200224afbbe41dcc}

\item 
double {\bf get\-Point\-On\-Circle} (double Radius, double $\ast$ref, double $\ast$point)
\begin{DoxyCompactList}\small\item\em This method calculates coordinates of both intersection \par
 of the helix with a cylinder. \end{DoxyCompactList}\item 
double {\bf get\-Distance\-To\-Helix} ({\bf Helix\-Class\-\_\-double} $\ast$helix, double $\ast$pos, double $\ast$mom)\label{classHelixClass__double_a00315602163282f286b35f53e7a183f5}

\begin{DoxyCompactList}\small\item\em Returns distance between two helixes \par
 Output \-: \par
 pos[3] -\/ position of the point of closest approach \par
 mom[3] -\/ momentum of V0 \par
 \end{DoxyCompactList}\item 
void {\bf set\-Helix\-Edges} (double $\ast$x\-Start, double $\ast$x\-End)\label{classHelixClass__double_a7d4791fc170daa96b6e52496d7482728}

\begin{DoxyCompactList}\small\item\em Set Edges of helix. \end{DoxyCompactList}\item 
double $\ast$ {\bf get\-Starting\-Point} ()\label{classHelixClass__double_ac70e7f3e3d94a33e735dc9aa44d22389}

\begin{DoxyCompactList}\small\item\em Returns starting point of helix. \end{DoxyCompactList}\item 
double $\ast$ {\bf get\-End\-Point} ()\label{classHelixClass__double_a2efbda76e1369bdb89cd2a5c274ad79a}

\begin{DoxyCompactList}\small\item\em Returns endpoint of helix. \end{DoxyCompactList}\item 
double {\bf get\-Bz} ()\label{classHelixClass__double_a648f7b060192ad6f1050040635dc6b7d}

\begin{DoxyCompactList}\small\item\em Returns B\-Z for the second parameterization. \end{DoxyCompactList}\item 
double {\bf get\-Phi\-Z} ()\label{classHelixClass__double_ac3189f680d07efcbb65a00e100c710cd}

\begin{DoxyCompactList}\small\item\em Returns Phi for the second parameterization. \end{DoxyCompactList}\item 
void {\bf get\-Extrapolated\-Momentum} (double $\ast$pos, double $\ast$momentum)\label{classHelixClass__double_a0b27f8ceef4128d35939ca7b02cfafe1}

\begin{DoxyCompactList}\small\item\em Returns extrapolated momentum. \end{DoxyCompactList}\item 
double {\bf get\-Charge} ()\label{classHelixClass__double_afc3d8f8dbf282ddf7a18722c880f48f2}

\begin{DoxyCompactList}\small\item\em Returns charge. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Constructor \& Destructor Documentation}
\index{Helix\-Class\-\_\-double@{Helix\-Class\-\_\-double}!Helix\-Class\-\_\-double@{Helix\-Class\-\_\-double}}
\index{Helix\-Class\-\_\-double@{Helix\-Class\-\_\-double}!HelixClass_double@{Helix\-Class\-\_\-double}}
\subsubsection[{Helix\-Class\-\_\-double}]{\setlength{\rightskip}{0pt plus 5cm}Helix\-Class\-\_\-double\-::\-Helix\-Class\-\_\-double (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}\label{classHelixClass__double_ad73a10ba2e51c4b754f6fc3bc4fd55ff}


Constructor. 

Initializations of constants which are used to calculate various parameters associated with helix. 

\subsection{Member Function Documentation}
\index{Helix\-Class\-\_\-double@{Helix\-Class\-\_\-double}!get\-Distance\-To\-Point@{get\-Distance\-To\-Point}}
\index{get\-Distance\-To\-Point@{get\-Distance\-To\-Point}!HelixClass_double@{Helix\-Class\-\_\-double}}
\subsubsection[{get\-Distance\-To\-Point}]{\setlength{\rightskip}{0pt plus 5cm}double Helix\-Class\-\_\-double\-::get\-Distance\-To\-Point (
\begin{DoxyParamCaption}
\item[{double $\ast$}]{x\-Point, }
\item[{double $\ast$}]{Distance}
\end{DoxyParamCaption}
)}\label{classHelixClass__double_a1c2dbe3f805bd2a3ca362b1b3fee7b6f}


Return distance of the closest approach of the helix to \par
 arbitrary 3\-D point in space. 

x\-Point[3] -\/ coordinates of \par
 space point. Distance[3] -\/ vector of distances of helix to \par
 a given point in various projections \-: \par
 Distance[0] -\/ distance in R-\/\-Phi plane \par
 Distance[1] -\/ distance along Z axis \par
 Distance[2] -\/ 3\-D distance \par
 

Referenced by get\-Distance\-To\-Point().

\index{Helix\-Class\-\_\-double@{Helix\-Class\-\_\-double}!get\-Distance\-To\-Point@{get\-Distance\-To\-Point}}
\index{get\-Distance\-To\-Point@{get\-Distance\-To\-Point}!HelixClass_double@{Helix\-Class\-\_\-double}}
\subsubsection[{get\-Distance\-To\-Point}]{\setlength{\rightskip}{0pt plus 5cm}double Helix\-Class\-\_\-double\-::get\-Distance\-To\-Point (
\begin{DoxyParamCaption}
\item[{const double $\ast$}]{x\-Point, }
\item[{double}]{dist\-Cut}
\end{DoxyParamCaption}
)}\label{classHelixClass__double_ae7a7828f8b416a7ba77bc714e7d182f3}


Return distance of the closest approach of the helix to \par
 arbitrary 3\-D point in space. 

x\-Point[3] -\/ coordinates of \par
 space point. dist\-Cut -\/ limit on the distance between helix \par
 and the point to reduce calculation time \par
 If R-\/\-Phi is found to be greater than dist\-Cut, r\-Phi distance is returned \par
 If the R-\/\-Phi distance is not too big, than the exact 3\-D distance is returned \par
 This function can be used, if the exact distance is not always needed \par
 

References get\-Distance\-To\-Point().

\index{Helix\-Class\-\_\-double@{Helix\-Class\-\_\-double}!get\-Point\-In\-X\-Y@{get\-Point\-In\-X\-Y}}
\index{get\-Point\-In\-X\-Y@{get\-Point\-In\-X\-Y}!HelixClass_double@{Helix\-Class\-\_\-double}}
\subsubsection[{get\-Point\-In\-X\-Y}]{\setlength{\rightskip}{0pt plus 5cm}double Helix\-Class\-\_\-double\-::get\-Point\-In\-X\-Y (
\begin{DoxyParamCaption}
\item[{double}]{x0, }
\item[{double}]{y0, }
\item[{double}]{ax, }
\item[{double}]{ay, }
\item[{double $\ast$}]{ref, }
\item[{double $\ast$}]{point}
\end{DoxyParamCaption}
)}\label{classHelixClass__double_a0011933273f985b66fd6418b81ad8682}


Returns helix intersection point with the plane \par
 parallel to z axis. 

Plane is defined by two coordinates \par
 of the point belonging to the plane (x0,y0) and normal \par
 vector (ax,ay). ref[3] is the reference point of the helix. \par
 point[3] -\/ returned vector holding the coordinates of \par
 intersection point \par
 \index{Helix\-Class\-\_\-double@{Helix\-Class\-\_\-double}!get\-Point\-In\-Z@{get\-Point\-In\-Z}}
\index{get\-Point\-In\-Z@{get\-Point\-In\-Z}!HelixClass_double@{Helix\-Class\-\_\-double}}
\subsubsection[{get\-Point\-In\-Z}]{\setlength{\rightskip}{0pt plus 5cm}double Helix\-Class\-\_\-double\-::get\-Point\-In\-Z (
\begin{DoxyParamCaption}
\item[{double}]{z\-Line, }
\item[{double $\ast$}]{ref, }
\item[{double $\ast$}]{point}
\end{DoxyParamCaption}
)}\label{classHelixClass__double_a4c504cacf8045b7e08fcbcba908ff7ec}


Returns helix intersection point with the plane \par
 perpendicular to z axis. 

Plane is defined by z coordinate \par
 of the plane. ref[3] is the reference point of the helix. \par
 point[3] -\/ returned vector holding the coordinates of \par
 intersection point \par
 \index{Helix\-Class\-\_\-double@{Helix\-Class\-\_\-double}!get\-Point\-On\-Circle@{get\-Point\-On\-Circle}}
\index{get\-Point\-On\-Circle@{get\-Point\-On\-Circle}!HelixClass_double@{Helix\-Class\-\_\-double}}
\subsubsection[{get\-Point\-On\-Circle}]{\setlength{\rightskip}{0pt plus 5cm}double Helix\-Class\-\_\-double\-::get\-Point\-On\-Circle (
\begin{DoxyParamCaption}
\item[{double}]{Radius, }
\item[{double $\ast$}]{ref, }
\item[{double $\ast$}]{point}
\end{DoxyParamCaption}
)}\label{classHelixClass__double_a778dd8ee3cf2ff17646fa6e0718fdfee}


This method calculates coordinates of both intersection \par
 of the helix with a cylinder. 

\par
 Rotational symmetry with respect to z axis is assumed, \par
 meaning that cylinder axis corresponds to the z axis \par
 of reference frame. \par
 Inputs \-: \par
 Radius -\/ radius of cylinder. \par
 ref[3] -\/ point of closest approach to the origin of the helix. \par
 Output \-: \par
 point[6] -\/ coordinates of intersection point. \par
 Method returns also generic time, defined as the \par
 ratio of helix length from reference point to the intersection \par
 point to the particle momentum \par
 

Referenced by get\-Distance\-To\-Helix().

\index{Helix\-Class\-\_\-double@{Helix\-Class\-\_\-double}!Initialize\-\_\-\-B\-Z@{Initialize\-\_\-\-B\-Z}}
\index{Initialize\-\_\-\-B\-Z@{Initialize\-\_\-\-B\-Z}!HelixClass_double@{Helix\-Class\-\_\-double}}
\subsubsection[{Initialize\-\_\-\-B\-Z}]{\setlength{\rightskip}{0pt plus 5cm}void Helix\-Class\-\_\-double\-::\-Initialize\-\_\-\-B\-Z (
\begin{DoxyParamCaption}
\item[{double}]{x\-Centre, }
\item[{double}]{y\-Centre, }
\item[{double}]{radius, }
\item[{double}]{b\-Z, }
\item[{double}]{phi0, }
\item[{double}]{B, }
\item[{double}]{sign\-Pz, }
\item[{double}]{z\-Begin}
\end{DoxyParamCaption}
)}\label{classHelixClass__double_aef4e6819061a8a3512c393443de20e71}


Initialization of helix according to the following\par
 parameterization\par
 x = x\-Centre + radius$\ast$cos(b\-Z$\ast$z + phi0)\par
 y = y\-Centre + radius$\ast$sin(b\-Z$\ast$z + phi0)\par
 where (x,y,z) -\/ position of point on the helix\par
 


\begin{DoxyItemize}
\item (x\-Centre,y\-Centre) is the centre of circumference in R-\/\-Phi plane\par

\item radius is the radius of circumference\par

\item b\-Z is the helix slope parameter\par

\item phi0 is the initial phase of circumference\par

\item B is the magnetic field (in Tesla)\par

\item sign\-Pz is the sign of the z component of momentum vector\par

\item z\-Begin is the z coordinate of the reference point\par
 
\end{DoxyItemize}\index{Helix\-Class\-\_\-double@{Helix\-Class\-\_\-double}!Initialize\-\_\-\-Canonical@{Initialize\-\_\-\-Canonical}}
\index{Initialize\-\_\-\-Canonical@{Initialize\-\_\-\-Canonical}!HelixClass_double@{Helix\-Class\-\_\-double}}
\subsubsection[{Initialize\-\_\-\-Canonical}]{\setlength{\rightskip}{0pt plus 5cm}void Helix\-Class\-\_\-double\-::\-Initialize\-\_\-\-Canonical (
\begin{DoxyParamCaption}
\item[{double}]{phi0, }
\item[{double}]{d0, }
\item[{double}]{z0, }
\item[{double}]{omega, }
\item[{double}]{tanlambda, }
\item[{double}]{B}
\end{DoxyParamCaption}
)}\label{classHelixClass__double_a0217a6572fbc5c56aec7b3b8acf58995}


Canonical (L\-E\-P-\/wise) parameterisation with the following parameters\par
 


\begin{DoxyItemize}
\item phi0 -\/ Phi angle of momentum vector at the point of\par
 closest approach to I\-P in R-\/\-Phi plane;
\item d0 -\/ signed distance of closest approach in R-\/\-Phi plane;\par

\item z0 -\/ z coordinate of the point of closest approach to I\-P in R-\/\-Phi plane;\par

\item omega -\/ signed curvature;\par

\item tanlambda -\/ tangent of dip angle;\par

\item B -\/ magnetic field (in Tesla)\par
 
\end{DoxyItemize}\index{Helix\-Class\-\_\-double@{Helix\-Class\-\_\-double}!Initialize\-\_\-\-V\-P@{Initialize\-\_\-\-V\-P}}
\index{Initialize\-\_\-\-V\-P@{Initialize\-\_\-\-V\-P}!HelixClass_double@{Helix\-Class\-\_\-double}}
\subsubsection[{Initialize\-\_\-\-V\-P}]{\setlength{\rightskip}{0pt plus 5cm}void Helix\-Class\-\_\-double\-::\-Initialize\-\_\-\-V\-P (
\begin{DoxyParamCaption}
\item[{double $\ast$}]{pos, }
\item[{double $\ast$}]{mom, }
\item[{double}]{q, }
\item[{double}]{B}
\end{DoxyParamCaption}
)}\label{classHelixClass__double_a049001095b9ed737a7cb48270e884daa}


Initialization of helix using \par
 


\begin{DoxyItemize}
\item position of the reference point \-: pos[3]; \par

\item momentum vector at the reference point \-: mom[3];\par

\item particle charge \-: q;\par

\item magnetic field (in Tesla) \-: B\par
 
\end{DoxyItemize}

The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
Helix\-Class\-\_\-double.\-h\item 
Helix\-Class\-\_\-double.\-cc\end{DoxyCompactItemize}
