\section{gear\-:\-:F\-T\-D\-Layer\-Layout Class Reference}
\label{classgear_1_1FTDLayerLayout}\index{gear\-::\-F\-T\-D\-Layer\-Layout@{gear\-::\-F\-T\-D\-Layer\-Layout}}


Abstract description of layers in a F\-T\-D detector.  




{\ttfamily \#include $<$F\-T\-D\-Layer\-Layout.\-h$>$}

Inheritance diagram for gear\-:\-:F\-T\-D\-Layer\-Layout\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classgear_1_1FTDLayerLayout}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual {\bf $\sim$\-F\-T\-D\-Layer\-Layout} ()\label{classgear_1_1FTDLayerLayout_a50820ee9e6532ab2b7a6366ababe6c26}

\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
virtual int {\bf get\-N\-Layers} () const =0\label{classgear_1_1FTDLayerLayout_aad339a32b3df532eed94c1de44ecc128}

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

\begin{DoxyCompactList}\small\item\em The number of petals in the layer layer\-Index -\/ layer indexing starts at 0 for the layer closest to I\-P. \end{DoxyCompactList}\item 
virtual int {\bf get\-N\-Sensors} (int layer\-Index) const =0
\begin{DoxyCompactList}\small\item\em The number of sensors per petal on a specific layer -\/ Sensor indexing is defined as follows\-: (illustrated here by a doublesided petal with 4 sensors) it starts with number 1\-: the sensor on the side facing the I\-P (the front), that is farthest from the xy -\/ origin. \end{DoxyCompactList}\item 
virtual bool {\bf is\-Double\-Sided} (int layer\-Index) const =0\label{classgear_1_1FTDLayerLayout_a0692a7d7ee1203cfe38965535b6896ce}

\begin{DoxyCompactList}\small\item\em Whether the petals on a layer have sensors in front and back. \end{DoxyCompactList}\item 
virtual int {\bf get\-Sensor\-Type} (int layer\-Index) const =0\label{classgear_1_1FTDLayerLayout_ae6325f598d77bec8a3b4fd513ffafdaa}

\begin{DoxyCompactList}\small\item\em The sensor type of the disk\-: pixel or micro-\/strip The return value corresponds to the following values\-: gear\-::\-F\-T\-D\-Parameters\-::\-P\-I\-X\-E\-L gear\-::\-F\-T\-D\-Parameters\-::\-S\-T\-R\-I\-P. \end{DoxyCompactList}\item 
virtual double {\bf get\-Phi\-Half\-Distance} (int layer\-Index) const =0\label{classgear_1_1FTDLayerLayout_a04869d27ee83ad8cc3d02d7d5f1f3305}

\begin{DoxyCompactList}\small\item\em Angular half-\/width of the petals of a layer -\/ half of the opening angle of the trapezoid. \end{DoxyCompactList}\item 
virtual double {\bf get\-Zposition} (const int \&layer\-Index) const =0\label{classgear_1_1FTDLayerLayout_a8525f4dc42def55e45fcaed3c914edd6}

\begin{DoxyCompactList}\small\item\em The z-\/position of the centroid of the disk structure. \end{DoxyCompactList}\item 
virtual double {\bf get\-Zoffset} (const int \&layer\-Index) const =0\label{classgear_1_1FTDLayerLayout_a9674314cbe08c5d39fb46c46805905d7}

\begin{DoxyCompactList}\small\item\em Z-\/offset of the petals in a staggered setup -\/ the z position of the even numbered petals is get\-Zposition(i)+get\-Zoffset\-Sign0(i)$\ast$get\-Zoffset(i), the odd numbered petals\-: get\-Zposition(i)-\/get\-Zoffset\-Sign0(i)$\ast$get\-Zoffset(i),. \end{DoxyCompactList}\item 
virtual double {\bf get\-Zoffset\-Sign0} (const int \&layer\-Index) const =0\label{classgear_1_1FTDLayerLayout_ac345c70046386389a14d798987228412}

\begin{DoxyCompactList}\small\item\em Z-\/offset sign of the petal 0 in a staggered setup -\/ the z position of the petals is zposition + zsign0$^\wedge$\{petal\-Index\}$\ast$zoffset. \end{DoxyCompactList}\item 
virtual double {\bf get\-Phi0} (const int \&layer\-Index) const =0\label{classgear_1_1FTDLayerLayout_a763c1e68ce283bae4bbb60c01aa74465}

\begin{DoxyCompactList}\small\item\em Azimuthal angle of the first petal (angle between petal centroid and x-\/axis for the petal indexed as 0). \end{DoxyCompactList}\item 
virtual double {\bf get\-Alpha} (int layer\-Index) const =0\label{classgear_1_1FTDLayerLayout_a35173f7e10d856c2bde096b1da8c147f}

\begin{DoxyCompactList}\small\item\em Angle of rotation in the own plane of a petal in a tilted configuration. \end{DoxyCompactList}\item 
virtual double {\bf get\-Support\-Zposition} (const int \&layer\-Index, const int \&petal\-Index) const =0
\begin{DoxyCompactList}\small\item\em The position of the support in z direction in mm for the petal\-Index petal in layer layer\-Index -\/ layer indexing starting at 0 from the layer closest to I\-P. \end{DoxyCompactList}\item 
virtual double {\bf get\-Support\-Rinner} (int layer\-Index) const =0\label{classgear_1_1FTDLayerLayout_af984b73bad8524f0b90634c37e47e606}

\begin{DoxyCompactList}\small\item\em The R-\/min of the support petals in the X\-Y-\/plane in mm, for the layer layer\-Index -\/ layer indexing starts at 0 for the layer closest to I\-P. \end{DoxyCompactList}\item 
virtual double {\bf get\-Support\-Rad\-Length} (int layer\-Index) const =0\label{classgear_1_1FTDLayerLayout_a7a87cfd72c105f5a54fe671dbccde6fb}

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

\begin{DoxyCompactList}\small\item\em The thickness in mm of the supports in layer\-Index -\/ layer indexing starting at 0 for the layer closest to I\-P. \end{DoxyCompactList}\item 
virtual double {\bf get\-Support\-Length\-Min} (int layer\-Index) const =0\label{classgear_1_1FTDLayerLayout_a4dfe3d61030a32591a487d94f203f3ef}

\begin{DoxyCompactList}\small\item\em The length (x-\/direction) of the smallest edge of the trapezoid support in layer layer\-Index -\/ layer indexing starting at 0 for the layer closest to I\-P. \end{DoxyCompactList}\item 
virtual double {\bf get\-Support\-Length\-Max} (int layer\-Index) const =0\label{classgear_1_1FTDLayerLayout_ae3ac9223c5c7e1a004fb8ba4eaf07321}

\begin{DoxyCompactList}\small\item\em The length (x-\/direction) of the largest edge of the trapezoid support in layer layer\-Index -\/ layer indexing starting at 0 for the layer closest to I\-P. \end{DoxyCompactList}\item 
virtual double {\bf get\-Support\-Width} (int layer\-Index) const =0\label{classgear_1_1FTDLayerLayout_abf1c7f03b0ace2e150c3148c774e3b4a}

\begin{DoxyCompactList}\small\item\em The width of the support in layer in mm for petals in layer layer\-Index -\/ layer indexing starting at 0 from the layer closest to I\-P. \end{DoxyCompactList}\item 
virtual double {\bf get\-Sensitive\-Zposition} (const int \&layer\-Index, const int \&petal\-Index, const int \&sensor\-Id) const =0
\begin{DoxyCompactList}\small\item\em The position of the sensitive in z direction in mm for sensor sensor\-Index of the petal support petal\-Index in layer layer\-Index -\/ layer indexing starting at 0 from the layer closest to I\-P. \end{DoxyCompactList}\item 
virtual double {\bf get\-Sensitive\-Rinner} (int layer\-Index) const =0\label{classgear_1_1FTDLayerLayout_aeba044fc79953f37aea65a75b309366b}

\begin{DoxyCompactList}\small\item\em The R-\/min of the petal in the X\-Y-\/plane in mm for sensors in layer layer\-Index -\/ layer indexing starts at 0 for the layer closest to I\-P. \end{DoxyCompactList}\item 
virtual double {\bf get\-Sensitive\-Rad\-Length} (int layer\-Index) const =0\label{classgear_1_1FTDLayerLayout_a620c526c190eb2e3e7803f6351d2da2d}

\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\-Thickness} (int layer\-Index) const =0\label{classgear_1_1FTDLayerLayout_aa9081bfb82e7d660dd64558faae5baf5}

\begin{DoxyCompactList}\small\item\em The thickness in mm of the sensitive area in petals in layer layer\-Index. \end{DoxyCompactList}\item 
virtual double {\bf get\-Sensitive\-Length\-Min} (int layer\-Index) const =0
\begin{DoxyCompactList}\small\item\em Same as get\-Petal\-Length\-Min() except for the sensitive part of the petal. \end{DoxyCompactList}\item 
virtual double {\bf get\-Sensitive\-Length\-Max} (int layer\-Index) const =0
\begin{DoxyCompactList}\small\item\em Same as get\-Petal\-Length\-Max() except for the sensitive part of the petal. \end{DoxyCompactList}\item 
virtual double {\bf get\-Sensitive\-Width} (int layer\-Index) const =0\label{classgear_1_1FTDLayerLayout_a63be1659f9ecb0f4b2b4598f695af70b}

\begin{DoxyCompactList}\small\item\em The width of the sensitive area in petals in layer layer\-Index in mm. \end{DoxyCompactList}\item 
virtual double {\bf get\-Phi\-Petal\-Cd} (const int \&layer\-Index, const int \&petal\-Index) const =0
\begin{DoxyCompactList}\small\item\em Azimuthal angle of the petal petal\-Index Centroid at layer layer\-Index. \end{DoxyCompactList}\item 
virtual double {\bf get\-Max\-Radius} (const int \&layer\-Index, const bool \&sensitive=false) const =0\label{classgear_1_1FTDLayerLayout_ab506be69c3c872b529c0b903e360b57e}

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

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

\begin{DoxyCompactList}\small\item\em returns ending phi for first petal in layer layer\-Index (on side facing I\-P) \end{DoxyCompactList}\item 
virtual double {\bf get\-Thickness\-For\-Angle} (const int \&layer\-Index, const double \&tetha, const double \&phi, const bool \&sensitive=false) const =0
\begin{DoxyCompactList}\small\item\em returns thickness as viewed under the incidence angles phi and theta in layer layer\-Index. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Abstract description of layers in a F\-T\-D detector. 

\par
 This assumes a symmetric layout of petals (isocelete(?) trapezoids), arranged in layers (disk) a z-\/position to I\-P. \par
 The sensitive area is assumed to be inside the petals but can be positioned independently.

\begin{DoxyAuthor}{Author}
J. Duarte Campderros, I\-F\-C\-A (Based at V\-X\-D\-Layer\-Layout) 
\end{DoxyAuthor}
\begin{DoxyVersion}{Version}
\$\-Id\-: 
\end{DoxyVersion}


Definition at line 17 of file F\-T\-D\-Layer\-Layout.\-h.



\subsection{Member Function Documentation}
\index{gear\-::\-F\-T\-D\-Layer\-Layout@{gear\-::\-F\-T\-D\-Layer\-Layout}!get\-N\-Sensors@{get\-N\-Sensors}}
\index{get\-N\-Sensors@{get\-N\-Sensors}!gear::FTDLayerLayout@{gear\-::\-F\-T\-D\-Layer\-Layout}}
\subsubsection[{get\-N\-Sensors}]{\setlength{\rightskip}{0pt plus 5cm}virtual int gear\-::\-F\-T\-D\-Layer\-Layout\-::get\-N\-Sensors (
\begin{DoxyParamCaption}
\item[{int}]{layer\-Index}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classgear_1_1FTDLayerLayout_a03dd7ee70ce47e6f22d6196f3ce51324}


The number of sensors per petal on a specific layer -\/ Sensor indexing is defined as follows\-: (illustrated here by a doublesided petal with 4 sensors) it starts with number 1\-: the sensor on the side facing the I\-P (the front), that is farthest from the xy -\/ origin. 

2 is the next sensor on the same side closer to the xy -\/ origin. 3 is on the back ( the side not facing the I\-P ) and is back to back to sensor 1. 4 is then back to back to sensor 2.

If it were for exmaple 8 sensors on a doublesided petal, it would be (from outside to inside) 1,2,3,4 on the front and 5,6,7,8 on the back.

If it were 3 sensors on a singlesided petal, it would be just 1,2,3 on the front. 

Implemented in {\bf gear\-::\-F\-T\-D\-Layer\-Layout\-Impl} \doxyref{}{p.}{classgear_1_1FTDLayerLayoutImpl_a28efbb2b3e63a2d2bc914097baa6c831}.



Referenced by gear\-::\-F\-T\-D\-Parameters\-X\-M\-L\-::to\-X\-M\-L().

\index{gear\-::\-F\-T\-D\-Layer\-Layout@{gear\-::\-F\-T\-D\-Layer\-Layout}!get\-Phi\-Petal\-Cd@{get\-Phi\-Petal\-Cd}}
\index{get\-Phi\-Petal\-Cd@{get\-Phi\-Petal\-Cd}!gear::FTDLayerLayout@{gear\-::\-F\-T\-D\-Layer\-Layout}}
\subsubsection[{get\-Phi\-Petal\-Cd}]{\setlength{\rightskip}{0pt plus 5cm}virtual double gear\-::\-F\-T\-D\-Layer\-Layout\-::get\-Phi\-Petal\-Cd (
\begin{DoxyParamCaption}
\item[{const int \&}]{layer\-Index, }
\item[{const int \&}]{petal\-Index}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classgear_1_1FTDLayerLayout_aadece94ddc3105003eee1bfffbaaadae}


Azimuthal angle of the petal petal\-Index Centroid at layer layer\-Index. 

Layer indexing starting at 0 from the layer closest to I\-P. Petal indexing starting at 0 for the petal placed in the X-\/axis and grows with positive rotation around Z-\/axis. 

Implemented in {\bf gear\-::\-F\-T\-D\-Layer\-Layout\-Impl} \doxyref{}{p.}{classgear_1_1FTDLayerLayoutImpl_a3ae1e01a7efb01faf7b14e2efdb9982d}.

\index{gear\-::\-F\-T\-D\-Layer\-Layout@{gear\-::\-F\-T\-D\-Layer\-Layout}!get\-Sensitive\-Length\-Max@{get\-Sensitive\-Length\-Max}}
\index{get\-Sensitive\-Length\-Max@{get\-Sensitive\-Length\-Max}!gear::FTDLayerLayout@{gear\-::\-F\-T\-D\-Layer\-Layout}}
\subsubsection[{get\-Sensitive\-Length\-Max}]{\setlength{\rightskip}{0pt plus 5cm}virtual double gear\-::\-F\-T\-D\-Layer\-Layout\-::get\-Sensitive\-Length\-Max (
\begin{DoxyParamCaption}
\item[{int}]{layer\-Index}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classgear_1_1FTDLayerLayout_a2231779c09fe008b49555052c1f6f8d8}


Same as get\-Petal\-Length\-Max() except for the sensitive part of the petal. 

\begin{DoxySeeAlso}{See Also}
get\-Petal\-Length\-Max 
\end{DoxySeeAlso}


Implemented in {\bf gear\-::\-F\-T\-D\-Layer\-Layout\-Impl} \doxyref{}{p.}{classgear_1_1FTDLayerLayoutImpl_af5363f74b31f056b9ebbd7b62c43765a}.



Referenced by gear\-::\-F\-T\-D\-Parameters\-X\-M\-L\-::to\-X\-M\-L().

\index{gear\-::\-F\-T\-D\-Layer\-Layout@{gear\-::\-F\-T\-D\-Layer\-Layout}!get\-Sensitive\-Length\-Min@{get\-Sensitive\-Length\-Min}}
\index{get\-Sensitive\-Length\-Min@{get\-Sensitive\-Length\-Min}!gear::FTDLayerLayout@{gear\-::\-F\-T\-D\-Layer\-Layout}}
\subsubsection[{get\-Sensitive\-Length\-Min}]{\setlength{\rightskip}{0pt plus 5cm}virtual double gear\-::\-F\-T\-D\-Layer\-Layout\-::get\-Sensitive\-Length\-Min (
\begin{DoxyParamCaption}
\item[{int}]{layer\-Index}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classgear_1_1FTDLayerLayout_ad76b0cfd394c188e03d83ad3daefef71}


Same as get\-Petal\-Length\-Min() except for the sensitive part of the petal. 

\begin{DoxySeeAlso}{See Also}
get\-Petal\-Length\-Min 
\end{DoxySeeAlso}


Implemented in {\bf gear\-::\-F\-T\-D\-Layer\-Layout\-Impl} \doxyref{}{p.}{classgear_1_1FTDLayerLayoutImpl_a3f46439cb176d905bdcc58e1d1a04d4d}.



Referenced by gear\-::\-F\-T\-D\-Parameters\-X\-M\-L\-::to\-X\-M\-L().

\index{gear\-::\-F\-T\-D\-Layer\-Layout@{gear\-::\-F\-T\-D\-Layer\-Layout}!get\-Sensitive\-Zposition@{get\-Sensitive\-Zposition}}
\index{get\-Sensitive\-Zposition@{get\-Sensitive\-Zposition}!gear::FTDLayerLayout@{gear\-::\-F\-T\-D\-Layer\-Layout}}
\subsubsection[{get\-Sensitive\-Zposition}]{\setlength{\rightskip}{0pt plus 5cm}virtual double gear\-::\-F\-T\-D\-Layer\-Layout\-::get\-Sensitive\-Zposition (
\begin{DoxyParamCaption}
\item[{const int \&}]{layer\-Index, }
\item[{const int \&}]{petal\-Index, }
\item[{const int \&}]{sensor\-Id}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classgear_1_1FTDLayerLayout_ad5fc63939045ce294cdc824daa8b83db}


The position of the sensitive in z direction in mm for sensor sensor\-Index of the petal support petal\-Index in layer layer\-Index -\/ layer indexing starting at 0 from the layer closest to I\-P. 

Petal indexing starting at 0 for the petal placed in the X-\/axis and grows with positive rotation around Z-\/axis. Sensor indexing is defined as follows\-: (illustrated here by a doublesided petal with 4 sensors) it starts with number 1\-: the sensor on the side facing the I\-P (the front), that is farthest from the xy -\/ origin. 2 is the next sensor on the same side closer to the xy -\/ origin. 3 is on the back ( the side not facing the I\-P ) and is back to back to sensor 1. 4 is then back to back to sensor 2. 

Implemented in {\bf gear\-::\-F\-T\-D\-Layer\-Layout\-Impl} \doxyref{}{p.}{classgear_1_1FTDLayerLayoutImpl_a94e801ab65facb7c7f33de82298c728d}.

\index{gear\-::\-F\-T\-D\-Layer\-Layout@{gear\-::\-F\-T\-D\-Layer\-Layout}!get\-Support\-Zposition@{get\-Support\-Zposition}}
\index{get\-Support\-Zposition@{get\-Support\-Zposition}!gear::FTDLayerLayout@{gear\-::\-F\-T\-D\-Layer\-Layout}}
\subsubsection[{get\-Support\-Zposition}]{\setlength{\rightskip}{0pt plus 5cm}virtual double gear\-::\-F\-T\-D\-Layer\-Layout\-::get\-Support\-Zposition (
\begin{DoxyParamCaption}
\item[{const int \&}]{layer\-Index, }
\item[{const int \&}]{petal\-Index}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classgear_1_1FTDLayerLayout_a136ed5b367f838a41ef7ce7e57e8a259}


The position of the support in z direction in mm for the petal\-Index petal in layer layer\-Index -\/ layer indexing starting at 0 from the layer closest to I\-P. 

Petal indexing starting at 0 for the petal placed in the X-\/axis and grows with positive rotation around Z-\/axis. The position is defined in the centroid point of the support. 

Implemented in {\bf gear\-::\-F\-T\-D\-Layer\-Layout\-Impl} \doxyref{}{p.}{classgear_1_1FTDLayerLayoutImpl_aca07c6553389aa5d7bd766b69724ad60}.

\index{gear\-::\-F\-T\-D\-Layer\-Layout@{gear\-::\-F\-T\-D\-Layer\-Layout}!get\-Thickness\-For\-Angle@{get\-Thickness\-For\-Angle}}
\index{get\-Thickness\-For\-Angle@{get\-Thickness\-For\-Angle}!gear::FTDLayerLayout@{gear\-::\-F\-T\-D\-Layer\-Layout}}
\subsubsection[{get\-Thickness\-For\-Angle}]{\setlength{\rightskip}{0pt plus 5cm}virtual double gear\-::\-F\-T\-D\-Layer\-Layout\-::get\-Thickness\-For\-Angle (
\begin{DoxyParamCaption}
\item[{const int \&}]{layer\-Index, }
\item[{const double \&}]{tetha, }
\item[{const double \&}]{phi, }
\item[{const bool \&}]{sensitive = {\ttfamily false}}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classgear_1_1FTDLayerLayout_a76625568a431ad9d44249391d36b6e0d}


returns thickness as viewed under the incidence angles phi and theta in layer layer\-Index. 

theta is the angle defined between the Z-\/axis (perpendicular to the petal plane) and the plane of the petal; phi is the incident angle defined in the Z\-X plane 

Implemented in {\bf gear\-::\-F\-T\-D\-Layer\-Layout\-Impl} \doxyref{}{p.}{classgear_1_1FTDLayerLayoutImpl_aecbf22f01f47fff24fbf317f95a6b76e}.



The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
F\-T\-D\-Layer\-Layout.\-h\end{DoxyCompactItemize}
