\hypertarget{_segmentation_8h}{\section{/opt/ilcsoft/\-H\-E\-A\-D-\/2016-\/12-\/02/\-D\-D4hep/\-H\-E\-A\-D/\-D\-D\-Segmentation/include/\-D\-D\-Segmentation/\-Segmentation.h File Reference}
\label{_segmentation_8h}\index{/opt/ilcsoft/\-H\-E\-A\-D-\/2016-\/12-\/02/\-D\-D4hep/\-H\-E\-A\-D/\-D\-D\-Segmentation/include/\-D\-D\-Segmentation/\-Segmentation.\-h@{/opt/ilcsoft/\-H\-E\-A\-D-\/2016-\/12-\/02/\-D\-D4hep/\-H\-E\-A\-D/\-D\-D\-Segmentation/include/\-D\-D\-Segmentation/\-Segmentation.\-h}}
}
{\ttfamily \#include \char`\"{}D\-D\-Segmentation/\-Bit\-Field64.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}D\-D\-Segmentation/\-Segmentation\-Factory.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}D\-D\-Segmentation/\-Segmentation\-Parameter.\-h\char`\"{}}\\*
{\ttfamily \#include $<$map$>$}\\*
{\ttfamily \#include $<$utility$>$}\\*
{\ttfamily \#include $<$set$>$}\\*
{\ttfamily \#include $<$string$>$}\\*
{\ttfamily \#include $<$vector$>$}\\*
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{struct_d_d4hep_1_1_d_d_segmentation_1_1_vector3_d}{D\-D4hep\-::\-D\-D\-Segmentation\-::\-Vector3\-D}
\begin{DoxyCompactList}\small\item\em Simple container for a physics vector. \end{DoxyCompactList}\item 
class \hyperlink{class_d_d4hep_1_1_d_d_segmentation_1_1_segmentation}{D\-D4hep\-::\-D\-D\-Segmentation\-::\-Segmentation}
\begin{DoxyCompactList}\small\item\em Base class for all segmentations. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Namespaces}
\begin{DoxyCompactItemize}
\item 
\hyperlink{namespace_d_d4hep}{D\-D4hep}
\begin{DoxyCompactList}\small\item\em Namespace for the A\-I\-D\-A detector description toolkit. \end{DoxyCompactList}\item 
\hyperlink{namespace_d_d4hep_1_1_d_d_segmentation}{D\-D4hep\-::\-D\-D\-Segmentation}
\begin{DoxyCompactList}\small\item\em Namespace for base segmentations. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{_segmentation_8h_aa878ae3c3221319e12dd312c6281793c}{R\-E\-G\-I\-S\-T\-E\-R\-\_\-\-S\-E\-G\-M\-E\-N\-T\-A\-T\-I\-O\-N}(classname)~static const Segmentation\-Creator$<$classname$>$ classname\#\#\-\_\-creator(\#classname);
\begin{DoxyCompactList}\small\item\em Macro to instantiate a new Segmentation\-Creator by its type name. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef Segmentation\-Parameter $\ast$ \hyperlink{namespace_d_d4hep_1_1_d_d_segmentation_af6c6bad2a745d807a0ed00506fb34ccf}{D\-D4hep\-::\-D\-D\-Segmentation\-::\-Parameter}
\item 
typedef std\-::vector$<$ Parameter $>$ \hyperlink{namespace_d_d4hep_1_1_d_d_segmentation_af38026430ca0e1ef64acdfc898f5dd3d}{D\-D4hep\-::\-D\-D\-Segmentation\-::\-Parameters}
\item 
typedef \\*
Typed\-Segmentation\-Parameter\\*
$<$ int $>$ $\ast$ \hyperlink{namespace_d_d4hep_1_1_d_d_segmentation_a40b9037137fce6e98a4a1b3e74078679}{D\-D4hep\-::\-D\-D\-Segmentation\-::\-Int\-Parameter}
\item 
typedef \\*
Typed\-Segmentation\-Parameter\\*
$<$ float $>$ $\ast$ \hyperlink{namespace_d_d4hep_1_1_d_d_segmentation_a1f6134fdcd18b625bc940d064598090a}{D\-D4hep\-::\-D\-D\-Segmentation\-::\-Float\-Parameter}
\item 
typedef \\*
Typed\-Segmentation\-Parameter\\*
$<$ double $>$ $\ast$ \hyperlink{namespace_d_d4hep_1_1_d_d_segmentation_a58fbf7ecc413a4ffb59ab7b49d1af947}{D\-D4hep\-::\-D\-D\-Segmentation\-::\-Double\-Parameter}
\item 
typedef \\*
Typed\-Segmentation\-Parameter\\*
$<$ std\-::string $>$ $\ast$ \hyperlink{namespace_d_d4hep_1_1_d_d_segmentation_a43a80cf70a60b3c858aca4fa463d8f7c}{D\-D4hep\-::\-D\-D\-Segmentation\-::\-String\-Parameter}
\item 
typedef \\*
Typed\-Segmentation\-Parameter\\*
$<$ std\-::vector$<$ int $>$ $>$ $\ast$ \hyperlink{namespace_d_d4hep_1_1_d_d_segmentation_a999961b3c725feedb2456dd0f046f1e3}{D\-D4hep\-::\-D\-D\-Segmentation\-::\-Int\-Vec\-Parameter}
\item 
typedef \\*
Typed\-Segmentation\-Parameter\\*
$<$ std\-::vector$<$ float $>$ $>$ $\ast$ \hyperlink{namespace_d_d4hep_1_1_d_d_segmentation_ab7445ed6131fb76c39c0c2463062d95e}{D\-D4hep\-::\-D\-D\-Segmentation\-::\-Float\-Vec\-Parameter}
\item 
typedef \\*
Typed\-Segmentation\-Parameter\\*
$<$ std\-::vector$<$ double $>$ $>$ $\ast$ \hyperlink{namespace_d_d4hep_1_1_d_d_segmentation_ae7964d33264473a9df6cfb5194cfb740}{D\-D4hep\-::\-D\-D\-Segmentation\-::\-Double\-Vec\-Parameter}
\item 
typedef \\*
Typed\-Segmentation\-Parameter\\*
$<$ std\-::vector$<$ std\-::string $>$ $>$ $\ast$ \hyperlink{namespace_d_d4hep_1_1_d_d_segmentation_a6560c8ed740be64475f81e890aaa58b2}{D\-D4hep\-::\-D\-D\-Segmentation\-::\-String\-Vec\-Parameter}
\item 
typedef \\*
Segmentation\-Parameter\-::\-Unit\-Type \hyperlink{namespace_d_d4hep_1_1_d_d_segmentation_a416c3e3ca0d578410085897700ab29dc}{D\-D4hep\-::\-D\-D\-Segmentation\-::\-Unit\-Type}
\end{DoxyCompactItemize}


\subsection{Macro Definition Documentation}
\hypertarget{_segmentation_8h_aa878ae3c3221319e12dd312c6281793c}{\index{Segmentation.\-h@{Segmentation.\-h}!R\-E\-G\-I\-S\-T\-E\-R\-\_\-\-S\-E\-G\-M\-E\-N\-T\-A\-T\-I\-O\-N@{R\-E\-G\-I\-S\-T\-E\-R\-\_\-\-S\-E\-G\-M\-E\-N\-T\-A\-T\-I\-O\-N}}
\index{R\-E\-G\-I\-S\-T\-E\-R\-\_\-\-S\-E\-G\-M\-E\-N\-T\-A\-T\-I\-O\-N@{R\-E\-G\-I\-S\-T\-E\-R\-\_\-\-S\-E\-G\-M\-E\-N\-T\-A\-T\-I\-O\-N}!Segmentation.h@{Segmentation.\-h}}
\subsubsection[{R\-E\-G\-I\-S\-T\-E\-R\-\_\-\-S\-E\-G\-M\-E\-N\-T\-A\-T\-I\-O\-N}]{\setlength{\rightskip}{0pt plus 5cm}\#define R\-E\-G\-I\-S\-T\-E\-R\-\_\-\-S\-E\-G\-M\-E\-N\-T\-A\-T\-I\-O\-N(
\begin{DoxyParamCaption}
\item[{}]{classname}
\end{DoxyParamCaption}
)~static const Segmentation\-Creator$<$classname$>$ classname\#\#\-\_\-creator(\#classname);}}\label{_segmentation_8h_aa878ae3c3221319e12dd312c6281793c}


Macro to instantiate a new Segmentation\-Creator by its type name. 



Definition at line 170 of file Segmentation.\-h.

