\section{gear\-:\-:Z\-Planar\-Layer\-Layout\-Impl Class Reference}
\label{classgear_1_1ZPlanarLayerLayoutImpl}\index{gear\-::\-Z\-Planar\-Layer\-Layout\-Impl@{gear\-::\-Z\-Planar\-Layer\-Layout\-Impl}}


Abstract description of layers in a Vertex detector.  




{\ttfamily \#include $<$Z\-Planar\-Layer\-Layout\-Impl.\-h$>$}

Inheritance diagram for gear\-:\-:Z\-Planar\-Layer\-Layout\-Impl\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classgear_1_1ZPlanarLayerLayoutImpl}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct {\bf Layer}
\begin{DoxyCompactList}\small\item\em Helper class for layer properties. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef std\-::vector$<$ {\bf Layer} $>$ {\bfseries Layer\-Vec}\label{classgear_1_1ZPlanarLayerLayoutImpl_af53a9b135b5348ddced79a54bc3abfb3}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual int {\bf get\-N\-Layers} () const \label{classgear_1_1ZPlanarLayerLayoutImpl_af59dbf7dd4434892a662d3e23a699efb}

\begin{DoxyCompactList}\small\item\em The total number of layers. \end{DoxyCompactList}\item 
virtual int {\bf get\-N\-Ladders} (int layer\-Index) const \label{classgear_1_1ZPlanarLayerLayoutImpl_a9e307cfb23bb0100bdd3cb64513fda6c}

\begin{DoxyCompactList}\small\item\em The number of ladders in the layer layer\-Index -\/ layer indexing starts at 0 for the layer closest to I\-P. \end{DoxyCompactList}\item 
virtual double {\bf get\-Phi0} (int layer\-Index) const 
\begin{DoxyCompactList}\small\item\em Azimuthal angle of the (outward pointing) normal of the first ladder. \end{DoxyCompactList}\item 
virtual double {\bf get\-Ladder\-Rad\-Length} (int layer\-Index) const \label{classgear_1_1ZPlanarLayerLayoutImpl_a5e199e2514482c4fd8c93dffc7f2998e}

\begin{DoxyCompactList}\small\item\em The radiation length in the support structure ladders of layer layer\-Index -\/ layer indexing starts at 0 for the layer closest to I\-P. \end{DoxyCompactList}\item 
virtual double {\bf get\-Ladder\-Distance} (int layer\-Index) const \label{classgear_1_1ZPlanarLayerLayoutImpl_a58befa33bbec9c1e59e1805e24255b34}

\begin{DoxyCompactList}\small\item\em The distance of ladders in layer layer\-Index from the I\-P -\/ layer indexing starts at 0 for the layer closest to I\-P. \end{DoxyCompactList}\item 
virtual double {\bf get\-Ladder\-Thickness} (int layer\-Index) const \label{classgear_1_1ZPlanarLayerLayoutImpl_ae37785cce5cfa30895e2df12791f2f1e}

\begin{DoxyCompactList}\small\item\em The thickness in mm of the ladders in layer\-Index -\/ layer indexing starting at 0 for the layer closest to I\-P. \end{DoxyCompactList}\item 
virtual double {\bf get\-Ladder\-Offset} (int layer\-Index) const 
\begin{DoxyCompactList}\small\item\em The offset of the ladder in mm defines the shift of the ladder in the direction of increasing phi perpendicular to the ladder's normal. \end{DoxyCompactList}\item 
virtual double {\bf get\-Ladder\-Width} (int layer\-Index) const \label{classgear_1_1ZPlanarLayerLayoutImpl_ab4c742253516b90afeaa15acc0a95eee}

\begin{DoxyCompactList}\small\item\em The width of the ladder in layer in mm for ladders in layer layer\-Index -\/ layer indexing starting at 0 from the layer closest to I\-P. \end{DoxyCompactList}\item 
virtual double {\bf get\-Ladder\-Length} (int layer\-Index) const 
\begin{DoxyCompactList}\small\item\em The (half) length of the ladder in z direction in mm for ladders in layer layer\-Index -\/ layer indexing starting at 0 from the layer closest to I\-P. \end{DoxyCompactList}\item 
virtual double {\bf get\-Sensitive\-Rad\-Length} (int layer\-Index) const \label{classgear_1_1ZPlanarLayerLayoutImpl_a9cced9afe20e5bed18d11c1dc01277e2}

\begin{DoxyCompactList}\small\item\em The radiation length in sensitive volumes in layer layer\-Index -\/ layer indexing starts at 0 for the layer closest to I\-P. \end{DoxyCompactList}\item 
virtual double {\bf get\-Sensitive\-Distance} (int layer\-Index) const \label{classgear_1_1ZPlanarLayerLayoutImpl_af4c2ddb69d0c4b36b4e72f6802a51b5f}

\begin{DoxyCompactList}\small\item\em The distance of sensitive area in ladders in layer layer\-Index from the I\-P. \end{DoxyCompactList}\item 
virtual double {\bf get\-Sensitive\-Thickness} (int layer\-Index) const \label{classgear_1_1ZPlanarLayerLayoutImpl_af1b5e10badead9251d83d13536d7a4be}

\begin{DoxyCompactList}\small\item\em The thickness in mm of the sensitive area in ladders in layer layer\-Index. \end{DoxyCompactList}\item 
virtual double {\bf get\-Sensitive\-Offset} (int layer\-Index) const 
\begin{DoxyCompactList}\small\item\em Same as \doxyref{get\-Ladder\-Offset()}{p.}{classgear_1_1ZPlanarLayerLayoutImpl_abd7fa6e396a3b3011a89a3f25e1320d3} except for the sensitive part of the ladder. \end{DoxyCompactList}\item 
virtual double {\bf get\-Sensitive\-Width} (int layer\-Index) const \label{classgear_1_1ZPlanarLayerLayoutImpl_af1251033f212b401f95ab81cbdfda228}

\begin{DoxyCompactList}\small\item\em The width of the sensitive area in ladders in layer layer\-Index in mm. \end{DoxyCompactList}\item 
virtual double {\bf get\-Sensitive\-Length} (int layer\-Index) const \label{classgear_1_1ZPlanarLayerLayoutImpl_a4b10ac8a8afca9591f163ec9a27cf7a4}

\begin{DoxyCompactList}\small\item\em The length of the sensitive area in ladders in z direction in mm for ladders in layer layer\-Index. \end{DoxyCompactList}\item 
virtual void {\bf add\-Layer} (int n\-Ladders, double phi0, double ladder\-Distance, double ladder\-Offset, double ladder\-Thickness, double ladder\-Length, double ladder\-Width, double ladder\-Rad\-Length, double sensitive\-Distance, double sensitive\-Offset, double sensitive\-Thickness, double sensitive\-Length, double sensitive\-Width, double sensitive\-Rad\-Length)\label{classgear_1_1ZPlanarLayerLayoutImpl_a32f3567035c88541b927ccbac0124b15}

\begin{DoxyCompactList}\small\item\em Add a new layer at the given positon. \end{DoxyCompactList}\item 
virtual double {\bf get\-Max\-Radius} (int layer\-Index, bool sensitive=false) const \label{classgear_1_1ZPlanarLayerLayoutImpl_a348884b864ab8cb553d6383b4e72d455}

\begin{DoxyCompactList}\small\item\em returns maximum radius for a given layer \end{DoxyCompactList}\item 
virtual double {\bf get\-Start\-Inner\-Phi} (int layer\-Index, bool sensitive=false) const \label{classgear_1_1ZPlanarLayerLayoutImpl_aeed7eb6474870e31d600b42ccca05cba}

\begin{DoxyCompactList}\small\item\em returns starting phi for first ladder in layer layer\-Index (on side facing I\-P) \end{DoxyCompactList}\item 
virtual double {\bf get\-End\-Inner\-Phi} (int layer\-Index, bool sensitive=false) const \label{classgear_1_1ZPlanarLayerLayoutImpl_a4fac92df0b5281b77441dc6e0f71b4ae}

\begin{DoxyCompactList}\small\item\em returns ending phi for first ladder in layer layer\-Index (on side facing I\-P) \end{DoxyCompactList}\item 
virtual double {\bf get\-Start\-Outer\-Phi} (int layer\-Index, bool sensitive=false) const \label{classgear_1_1ZPlanarLayerLayoutImpl_a5b2f672f9846585cfa247c7e2cdf8812}

\begin{DoxyCompactList}\small\item\em returns starting phi for first ladder in layer layer\-Index (on side away from I\-P) \end{DoxyCompactList}\item 
virtual double {\bf get\-End\-Outer\-Phi} (int layer\-Index, bool sensitive=false) const \label{classgear_1_1ZPlanarLayerLayoutImpl_af09506c7ffb0ec46e9b44f551af2e6a2}

\begin{DoxyCompactList}\small\item\em returns ending phi for first ladder in layer layer\-Index (on side away from I\-P) \end{DoxyCompactList}\item 
virtual double {\bf get\-Thickness\-For\-Phi} (int layer\-Index, double phi, bool sensitive=false) const 
\begin{DoxyCompactList}\small\item\em returns thickness as viewed under the angle phi only for the first ladder in layer layer\-Index. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
double {\bfseries get\-Internal\-Phi0} (int layer\-Index) const \label{classgear_1_1ZPlanarLayerLayoutImpl_aed4096534f4a8b2e7069723f4395805d}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
Layer\-Vec {\bfseries \-\_\-l\-Vec}\label{classgear_1_1ZPlanarLayerLayoutImpl_a738e433889476d21675793f1b8d3d83d}

\item 
Layer\-Vec {\bfseries \-\_\-s\-Vec}\label{classgear_1_1ZPlanarLayerLayoutImpl_ab1e9469af0f8c2b42279d9361442aa06}

\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
class {\bfseries Z\-Planar\-Parameters\-Impl}\label{classgear_1_1ZPlanarLayerLayoutImpl_a582748b5b8113003c93cee26f60540fe}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Abstract description of layers in a Vertex detector. 

\par
 This assumes a symmetric layout of ladders, arranged in layers equidistant to I\-P. \par
 The sensitive area is assumed to be inside the ladders but can be positioned independently.

\begin{DoxyAuthor}{Author}
R. Lippe, D\-E\-S\-Y 
\end{DoxyAuthor}
\begin{DoxyVersion}{Version}
\$\-Id\-: 
\end{DoxyVersion}


Definition at line 20 of file Z\-Planar\-Layer\-Layout\-Impl.\-h.



\subsection{Member Function Documentation}
\index{gear\-::\-Z\-Planar\-Layer\-Layout\-Impl@{gear\-::\-Z\-Planar\-Layer\-Layout\-Impl}!get\-Ladder\-Length@{get\-Ladder\-Length}}
\index{get\-Ladder\-Length@{get\-Ladder\-Length}!gear::ZPlanarLayerLayoutImpl@{gear\-::\-Z\-Planar\-Layer\-Layout\-Impl}}
\subsubsection[{get\-Ladder\-Length}]{\setlength{\rightskip}{0pt plus 5cm}virtual double gear\-::\-Z\-Planar\-Layer\-Layout\-Impl\-::get\-Ladder\-Length (
\begin{DoxyParamCaption}
\item[{int}]{layer\-Index}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}\label{classgear_1_1ZPlanarLayerLayoutImpl_a60e0b2bb25efc15e935d30c93f4059ad}


The (half) length of the ladder in z direction in mm for ladders in layer layer\-Index -\/ layer indexing starting at 0 from the layer closest to I\-P. 

Note\-: for historic reasons this is typically used to describe the half of the ladder in positive z, so it is the half length really. 

Implements {\bf gear\-::\-Z\-Planar\-Layer\-Layout} \doxyref{}{p.}{classgear_1_1ZPlanarLayerLayout_a36552152dab15c799b5119aec531d48f}.



Definition at line 94 of file Z\-Planar\-Layer\-Layout\-Impl.\-h.

\index{gear\-::\-Z\-Planar\-Layer\-Layout\-Impl@{gear\-::\-Z\-Planar\-Layer\-Layout\-Impl}!get\-Ladder\-Offset@{get\-Ladder\-Offset}}
\index{get\-Ladder\-Offset@{get\-Ladder\-Offset}!gear::ZPlanarLayerLayoutImpl@{gear\-::\-Z\-Planar\-Layer\-Layout\-Impl}}
\subsubsection[{get\-Ladder\-Offset}]{\setlength{\rightskip}{0pt plus 5cm}virtual double gear\-::\-Z\-Planar\-Layer\-Layout\-Impl\-::get\-Ladder\-Offset (
\begin{DoxyParamCaption}
\item[{int}]{layer\-Index}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}\label{classgear_1_1ZPlanarLayerLayoutImpl_abd7fa6e396a3b3011a89a3f25e1320d3}


The offset of the ladder in mm defines the shift of the ladder in the direction of increasing phi perpendicular to the ladder's normal. 

For example if the first ladder is at phi0==0 then the offset defines an upward shift of the ladder (parallel to the y-\/axis). \doxyref{Layer}{p.}{structgear_1_1ZPlanarLayerLayoutImpl_1_1Layer} indexing starts at 0 for the layer closest to I\-P. \begin{DoxySeeAlso}{See Also}
\doxyref{get\-Phi0}{p.}{classgear_1_1ZPlanarLayerLayoutImpl_a228c8295072f24ba2070fcb3ff727cf3} 

\doxyref{get\-Sensitive\-Offset}{p.}{classgear_1_1ZPlanarLayerLayoutImpl_a91ee250b393941525e5a7569ee123280} 
\end{DoxySeeAlso}


Implements {\bf gear\-::\-Z\-Planar\-Layer\-Layout} \doxyref{}{p.}{classgear_1_1ZPlanarLayerLayout_ab9a612422370215b52ea57d586234e11}.



Definition at line 81 of file Z\-Planar\-Layer\-Layout\-Impl.\-h.

\index{gear\-::\-Z\-Planar\-Layer\-Layout\-Impl@{gear\-::\-Z\-Planar\-Layer\-Layout\-Impl}!get\-Phi0@{get\-Phi0}}
\index{get\-Phi0@{get\-Phi0}!gear::ZPlanarLayerLayoutImpl@{gear\-::\-Z\-Planar\-Layer\-Layout\-Impl}}
\subsubsection[{get\-Phi0}]{\setlength{\rightskip}{0pt plus 5cm}virtual double gear\-::\-Z\-Planar\-Layer\-Layout\-Impl\-::get\-Phi0 (
\begin{DoxyParamCaption}
\item[{int}]{layer\-Index}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}\label{classgear_1_1ZPlanarLayerLayoutImpl_a228c8295072f24ba2070fcb3ff727cf3}


Azimuthal angle of the (outward pointing) normal of the first ladder. 

Phi0==0 corresponds to the first ladder's normal coinciding (if offset==0) with the x-\/axis. The layer\-Index starts at 0 for the layer closest to I\-P. 

Implements {\bf gear\-::\-Z\-Planar\-Layer\-Layout} \doxyref{}{p.}{classgear_1_1ZPlanarLayerLayout_a113f8261f02ab19f288c094707099f3c}.



Definition at line 57 of file Z\-Planar\-Layer\-Layout\-Impl.\-h.

\index{gear\-::\-Z\-Planar\-Layer\-Layout\-Impl@{gear\-::\-Z\-Planar\-Layer\-Layout\-Impl}!get\-Sensitive\-Offset@{get\-Sensitive\-Offset}}
\index{get\-Sensitive\-Offset@{get\-Sensitive\-Offset}!gear::ZPlanarLayerLayoutImpl@{gear\-::\-Z\-Planar\-Layer\-Layout\-Impl}}
\subsubsection[{get\-Sensitive\-Offset}]{\setlength{\rightskip}{0pt plus 5cm}virtual double gear\-::\-Z\-Planar\-Layer\-Layout\-Impl\-::get\-Sensitive\-Offset (
\begin{DoxyParamCaption}
\item[{int}]{layer\-Index}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}\label{classgear_1_1ZPlanarLayerLayoutImpl_a91ee250b393941525e5a7569ee123280}


Same as \doxyref{get\-Ladder\-Offset()}{p.}{classgear_1_1ZPlanarLayerLayoutImpl_abd7fa6e396a3b3011a89a3f25e1320d3} except for the sensitive part of the ladder. 

\begin{DoxySeeAlso}{See Also}
\doxyref{get\-Ladder\-Offset}{p.}{classgear_1_1ZPlanarLayerLayoutImpl_abd7fa6e396a3b3011a89a3f25e1320d3} 
\end{DoxySeeAlso}


Implements {\bf gear\-::\-Z\-Planar\-Layer\-Layout} \doxyref{}{p.}{classgear_1_1ZPlanarLayerLayout_a09f6ebb3d77865e7af735b7a94828f7d}.



Definition at line 112 of file Z\-Planar\-Layer\-Layout\-Impl.\-h.

\index{gear\-::\-Z\-Planar\-Layer\-Layout\-Impl@{gear\-::\-Z\-Planar\-Layer\-Layout\-Impl}!get\-Thickness\-For\-Phi@{get\-Thickness\-For\-Phi}}
\index{get\-Thickness\-For\-Phi@{get\-Thickness\-For\-Phi}!gear::ZPlanarLayerLayoutImpl@{gear\-::\-Z\-Planar\-Layer\-Layout\-Impl}}
\subsubsection[{get\-Thickness\-For\-Phi}]{\setlength{\rightskip}{0pt plus 5cm}double gear\-::\-Z\-Planar\-Layer\-Layout\-Impl\-::get\-Thickness\-For\-Phi (
\begin{DoxyParamCaption}
\item[{int}]{layer\-Index, }
\item[{double}]{phi, }
\item[{bool}]{sensitive = {\ttfamily false}}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}\label{classgear_1_1ZPlanarLayerLayoutImpl_a3ceee572bd080ec0928984888697392a}


returns thickness as viewed under the angle phi only for the first ladder in layer layer\-Index. 

returns -\/1 if phi is not covered by ladder 

Definition at line 121 of file Z\-Planar\-Layer\-Layout.\-cc.



References get\-End\-Inner\-Phi(), get\-End\-Outer\-Phi(), get\-Start\-Inner\-Phi(), and get\-Start\-Outer\-Phi().



The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
Z\-Planar\-Layer\-Layout\-Impl.\-h\item 
Z\-Planar\-Layer\-Layout.\-cc\end{DoxyCompactItemize}
