\hypertarget{class_d_d4hep_1_1_handle}{\section{D\-D4hep\-:\-:Handle$<$ T $>$ Class Template Reference}
\label{class_d_d4hep_1_1_handle}\index{D\-D4hep\-::\-Handle$<$ T $>$@{D\-D4hep\-::\-Handle$<$ T $>$}}
}


\hyperlink{class_d_d4hep_1_1_handle}{Handle}\-: a templated class like a shared pointer, which allows specialized access to tgeometry objects.  




{\ttfamily \#include $<$Handle.\-h$>$}

Inheritance diagram for D\-D4hep\-:\-:Handle$<$ T $>$\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=12.000000cm]{class_d_d4hep_1_1_handle}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef \hyperlink{class_t}{T} \hyperlink{class_d_d4hep_1_1_handle_ad7ff728a25806079516b8965b9113f1a}{Implementation}
\begin{DoxyCompactList}\small\item\em Extern accessible definition of the contained element type. \end{DoxyCompactList}\item 
typedef \hyperlink{class_d_d4hep_1_1_handle}{Handle}$<$ \hyperlink{class_d_d4hep_1_1_handle_ad7ff728a25806079516b8965b9113f1a}{Implementation} $>$ \hyperlink{class_d_d4hep_1_1_handle_a3d9df9d5b334e984b288ffbabcacb564}{handle\-\_\-t}
\begin{DoxyCompactList}\small\item\em Declaration of 'self'. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_d_d4hep_1_1_handle_aa663b93cfff5db612c806c9307e34fee}{Handle} ()=default
\begin{DoxyCompactList}\small\item\em Defaulot constructor. \end{DoxyCompactList}\item 
\hyperlink{class_d_d4hep_1_1_handle_a3c86f2f41a1ac3c3b86c179be2d4d67b}{Handle} (const \hyperlink{class_d_d4hep_1_1_handle}{Handle}$<$ \hyperlink{class_t}{T} $>$ \&\hyperlink{_volumes_8cpp_a8a9a1f93e9b09afccaec215310e64142}{e})=default
\begin{DoxyCompactList}\small\item\em Copy constructor. \end{DoxyCompactList}\item 
\hyperlink{class_d_d4hep_1_1_handle_aae5fd1b909826186406e57e41679ab8d}{Handle} (\hyperlink{class_t}{T} $\ast$\hyperlink{_volumes_8cpp_a8a9a1f93e9b09afccaec215310e64142}{e})
\begin{DoxyCompactList}\small\item\em Initializing constructor from pointer. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Q $>$ }\\\hyperlink{class_d_d4hep_1_1_handle_afc97f7c5cabc4750eb8c060080c3e433}{Handle} (Q $\ast$\hyperlink{_volumes_8cpp_a8a9a1f93e9b09afccaec215310e64142}{e})
\begin{DoxyCompactList}\small\item\em Initializing constructor from unrelated pointer with type checking. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Q $>$ }\\\hyperlink{class_d_d4hep_1_1_handle_a792c02f1acfc5a4356c8d390b00e3c68}{Handle} (const \hyperlink{class_d_d4hep_1_1_handle}{Handle}$<$ Q $>$ \&\hyperlink{_volumes_8cpp_a8a9a1f93e9b09afccaec215310e64142}{e})
\begin{DoxyCompactList}\small\item\em Initializing constructor from unrelated handle with type checking. \end{DoxyCompactList}\item 
\hyperlink{class_d_d4hep_1_1_handle}{Handle}$<$ \hyperlink{class_t}{T} $>$ \& \hyperlink{class_d_d4hep_1_1_handle_a5533618199d670602acedf94b39f1aa4}{operator=} (const \hyperlink{class_d_d4hep_1_1_handle}{Handle}$<$ \hyperlink{class_t}{T} $>$ \&\hyperlink{_volumes_8cpp_a8a9a1f93e9b09afccaec215310e64142}{e})=default
\begin{DoxyCompactList}\small\item\em Assignment operator. \end{DoxyCompactList}\item 
bool \hyperlink{class_d_d4hep_1_1_handle_a618470283b3a2cc5ed0545fec90dc759}{operator==} (const \hyperlink{class_d_d4hep_1_1_handle}{Handle}$<$ \hyperlink{class_t}{T} $>$ \&\hyperlink{_volumes_8cpp_a8a9a1f93e9b09afccaec215310e64142}{e}) const 
\begin{DoxyCompactList}\small\item\em Boolean operator == used for R\-B tree insertions. \end{DoxyCompactList}\item 
bool \hyperlink{class_d_d4hep_1_1_handle_a287ad7d458faab8f84dbfa6fd48e1d30}{operator$<$} (const \hyperlink{class_d_d4hep_1_1_handle}{Handle}$<$ \hyperlink{class_t}{T} $>$ \&\hyperlink{_volumes_8cpp_a8a9a1f93e9b09afccaec215310e64142}{e}) const 
\begin{DoxyCompactList}\small\item\em Boolean operator $<$ used for R\-B tree insertions. \end{DoxyCompactList}\item 
bool \hyperlink{class_d_d4hep_1_1_handle_a31b4a56e1f449b035e07a38ffd9b7d5a}{operator$>$} (const \hyperlink{class_d_d4hep_1_1_handle}{Handle}$<$ \hyperlink{class_t}{T} $>$ \&\hyperlink{_volumes_8cpp_a8a9a1f93e9b09afccaec215310e64142}{e}) const 
\begin{DoxyCompactList}\small\item\em Boolean operator $>$ used for R\-B tree insertions. \end{DoxyCompactList}\item 
bool \hyperlink{class_d_d4hep_1_1_handle_a4c5293aecb11989a708ec7615d0f0842}{is\-Valid} () const 
\begin{DoxyCompactList}\small\item\em Check the validity of the object held by the handle. \end{DoxyCompactList}\item 
bool \hyperlink{class_d_d4hep_1_1_handle_a20ce72f3771ce4e1a3b58d652efda06d}{operator!} () const 
\begin{DoxyCompactList}\small\item\em Check the validity of the object held by the handle. \end{DoxyCompactList}\item 
\hyperlink{class_d_d4hep_1_1_handle}{Handle}$<$ \hyperlink{class_t}{T} $>$ \& \hyperlink{class_d_d4hep_1_1_handle_ad50d0ea67a1c9a4e87d232f96ebe52f1}{clear} ()
\begin{DoxyCompactList}\small\item\em Release the object held by the handle. \end{DoxyCompactList}\item 
\hyperlink{class_t}{T} $\ast$ \hyperlink{class_d_d4hep_1_1_handle_afb3984a2a89e50232d519c535818d74b}{operator-\/$>$} () const 
\begin{DoxyCompactList}\small\item\em Access the held object using the -\/$>$ operator. \end{DoxyCompactList}\item 
\hyperlink{class_d_d4hep_1_1_handle_a065ea7927cff8151c3fb800dbef5658c}{operator T \&} () const 
\begin{DoxyCompactList}\small\item\em Automatic type conversion to an object references. \end{DoxyCompactList}\item 
\hyperlink{class_t}{T} \& \hyperlink{class_d_d4hep_1_1_handle_a9524715e3d0523206bc51be8c13deb32}{operator$\ast$} () const 
\begin{DoxyCompactList}\small\item\em Access the held object using the $\ast$ operator. \end{DoxyCompactList}\item 
\hyperlink{class_t}{T} $\ast$ \hyperlink{class_d_d4hep_1_1_handle_a51a7d12a15a2a18977a0036bc6435cc8}{ptr} () const 
\begin{DoxyCompactList}\small\item\em Access to the held object. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Q $>$ }\\Q $\ast$ \hyperlink{class_d_d4hep_1_1_handle_a2178665edfbe10499e8baca95657c451}{\-\_\-ptr} () const 
\begin{DoxyCompactList}\small\item\em Access to an unrelated object type. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Q $>$ }\\Q $\ast$ \hyperlink{class_d_d4hep_1_1_handle_ab3e284eed911ac85b32d5744d89fe960}{data} () const 
\begin{DoxyCompactList}\small\item\em Access to an unrelated object type. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Q $>$ }\\Q \& \hyperlink{class_d_d4hep_1_1_handle_a8dff99bb93b8d73f13d473e2a5618ba2}{object} () const 
\begin{DoxyCompactList}\small\item\em Access to an unrelated object type. \end{DoxyCompactList}\item 
\hyperlink{class_t}{T} $\ast$ \hyperlink{class_d_d4hep_1_1_handle_a1a5500d3bf236420d8ba63979aff8599}{access} () const 
\begin{DoxyCompactList}\small\item\em Checked object access. Throws invalid handle runtime exception. \end{DoxyCompactList}\item 
void \hyperlink{class_d_d4hep_1_1_handle_a664da2f5ac76434379046989853da656}{verify\-Object} () const 
\begin{DoxyCompactList}\small\item\em Verify the object type after a (re-\/)assignment. \end{DoxyCompactList}\item 
const char $\ast$ \hyperlink{class_d_d4hep_1_1_handle_a9c62b8d37e0f2354bae0093498dc15a1}{name} () const 
\begin{DoxyCompactList}\small\item\em Access the object name (or \char`\"{}\char`\"{} if not supported by the object) \end{DoxyCompactList}\item 
void \hyperlink{class_d_d4hep_1_1_handle_a9f5b5d3feb89adf95fdfc4148c711209}{assign} (\hyperlink{class_d_d4hep_1_1_handle_ad7ff728a25806079516b8965b9113f1a}{Implementation} $\ast$n, const std\-::string \&nam, const std\-::string \&title)
\begin{DoxyCompactList}\small\item\em Assign a new named object. Note\-: object references must be managed by the user. \end{DoxyCompactList}\item 
{\footnotesize template$<$$>$ }\\void \hyperlink{class_d_d4hep_1_1_handle_a21f25f49cd2d12c4448006f5343b6999}{assign} (\hyperlink{_handle_8cpp_a2cf2a89ef24384817ed33748f1243510}{\-\_\-\-Segmentation} $\ast$\hyperlink{_volumes_8cpp_a17ca6bfc8040d695d3cada22a4763d40}{s}, const std\-::string \&n, const std\-::string \&)
\item 
{\footnotesize template$<$$>$ }\\const char $\ast$ \hyperlink{class_d_d4hep_1_1_handle_a1a15b80c3f3e7e739a70b99f60a42092}{name} () const
\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static void \hyperlink{class_d_d4hep_1_1_handle_a7d6ad39bc68063a34d8d42ce1d9aef75}{bad\-\_\-assignment} (const std\-::type\-\_\-info \&from, const std\-::type\-\_\-info \&to)
\begin{DoxyCompactList}\small\item\em Helper routine called when unrelated types are assigned. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_t}{T} $\ast$ \hyperlink{class_d_d4hep_1_1_handle_a207411705e86b0f4053357c7a8b5532e}{m\-\_\-element} = 0
\begin{DoxyCompactList}\small\item\em Single and only data member\-: Reference to the actual element. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename T$>$class D\-D4hep\-::\-Handle$<$ T $>$}

\hyperlink{class_d_d4hep_1_1_handle}{Handle}\-: a templated class like a shared pointer, which allows specialized access to tgeometry objects. 

The \hyperlink{class_d_d4hep_1_1_handle}{Handle} is the base class to access all objects in \hyperlink{namespace_d_d4hep}{D\-D4hep}. Objects, which consist O\-N\-L\-Y of data are N\-E\-V\-E\-R passed directly. They are A\-L\-W\-A\-Y\-S passed using handles. Such handles are 'handy' ;-\/). Assignment is to and from different handles is possible using concrete type checking.

Real benefits can result from sophisticated handle subclasses, which can implement any desired user functionality with out compromising the object's data content. This leads to very flexible implementations, where the same data may be shared by many handle implementations providing different functionality to the clients.

In this sense, is the consequent use of handles to access data nothing else then the consequent application of component oriented programming using local objects from the heap.

Note\-: If you cannot live with this approach, it is better you get hands of this software package, because you will try to consequently fight the framework, which will frustrate you (and also me).

\begin{DoxyAuthor}{Author}
M.\-Frank 
\end{DoxyAuthor}
\begin{DoxyVersion}{Version}
1.\-0 
\end{DoxyVersion}


Definition at line 87 of file Handle.\-h.



\subsection{Member Typedef Documentation}
\hypertarget{class_d_d4hep_1_1_handle_a3d9df9d5b334e984b288ffbabcacb564}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!handle\-\_\-t@{handle\-\_\-t}}
\index{handle\-\_\-t@{handle\-\_\-t}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{handle\-\_\-t}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ typedef {\bf Handle}$<${\bf Implementation}$>$ {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::{\bf handle\-\_\-t}}}\label{class_d_d4hep_1_1_handle_a3d9df9d5b334e984b288ffbabcacb564}


Declaration of 'self'. 



Definition at line 93 of file Handle.\-h.

\hypertarget{class_d_d4hep_1_1_handle_ad7ff728a25806079516b8965b9113f1a}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!Implementation@{Implementation}}
\index{Implementation@{Implementation}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{Implementation}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ typedef {\bf T} {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::{\bf Implementation}}}\label{class_d_d4hep_1_1_handle_ad7ff728a25806079516b8965b9113f1a}


Extern accessible definition of the contained element type. 

Type definitions and class specific abbreviations and forward declarations 

Definition at line 91 of file Handle.\-h.



\subsection{Constructor \& Destructor Documentation}
\hypertarget{class_d_d4hep_1_1_handle_aa663b93cfff5db612c806c9307e34fee}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!Handle@{Handle}}
\index{Handle@{Handle}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{Handle}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::{\bf Handle} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [default]}}}\label{class_d_d4hep_1_1_handle_aa663b93cfff5db612c806c9307e34fee}


Defaulot constructor. 

\hypertarget{class_d_d4hep_1_1_handle_a3c86f2f41a1ac3c3b86c179be2d4d67b}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!Handle@{Handle}}
\index{Handle@{Handle}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{Handle}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::{\bf Handle} (
\begin{DoxyParamCaption}
\item[{const {\bf Handle}$<$ {\bf T} $>$ \&}]{e}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [default]}}}\label{class_d_d4hep_1_1_handle_a3c86f2f41a1ac3c3b86c179be2d4d67b}


Copy constructor. 

\hypertarget{class_d_d4hep_1_1_handle_aae5fd1b909826186406e57e41679ab8d}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!Handle@{Handle}}
\index{Handle@{Handle}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{Handle}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::{\bf Handle} (
\begin{DoxyParamCaption}
\item[{{\bf T} $\ast$}]{e}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_handle_aae5fd1b909826186406e57e41679ab8d}


Initializing constructor from pointer. 



Definition at line 102 of file Handle.\-h.

\hypertarget{class_d_d4hep_1_1_handle_afc97f7c5cabc4750eb8c060080c3e433}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!Handle@{Handle}}
\index{Handle@{Handle}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{Handle}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ template$<$typename Q $>$ {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::{\bf Handle} (
\begin{DoxyParamCaption}
\item[{Q $\ast$}]{e}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_handle_afc97f7c5cabc4750eb8c060080c3e433}


Initializing constructor from unrelated pointer with type checking. 



Definition at line 104 of file Handle.\-h.

\hypertarget{class_d_d4hep_1_1_handle_a792c02f1acfc5a4356c8d390b00e3c68}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!Handle@{Handle}}
\index{Handle@{Handle}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{Handle}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ template$<$typename Q $>$ {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::{\bf Handle} (
\begin{DoxyParamCaption}
\item[{const {\bf Handle}$<$ Q $>$ \&}]{e}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_handle_a792c02f1acfc5a4356c8d390b00e3c68}


Initializing constructor from unrelated handle with type checking. 



Definition at line 107 of file Handle.\-h.



\subsection{Member Function Documentation}
\hypertarget{class_d_d4hep_1_1_handle_a2178665edfbe10499e8baca95657c451}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!\-\_\-ptr@{\-\_\-ptr}}
\index{\-\_\-ptr@{\-\_\-ptr}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{\-\_\-ptr}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ template$<$typename Q $>$ Q$\ast$ {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::\-\_\-ptr (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_handle_a2178665edfbe10499e8baca95657c451}


Access to an unrelated object type. 



Definition at line 153 of file Handle.\-h.



Referenced by D\-D4hep\-::\-Geometry\-::\-Volume\-::set\-Material().

\hypertarget{class_d_d4hep_1_1_handle_a1a5500d3bf236420d8ba63979aff8599}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!access@{access}}
\index{access@{access}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{access}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ {\bf T} $\ast$ {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::access (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{class_d_d4hep_1_1_handle_a1a5500d3bf236420d8ba63979aff8599}


Checked object access. Throws invalid handle runtime exception. 



Definition at line 41 of file Handle.\-inl.



References D\-D4hep\-::invalid\-Handle\-Error().



Referenced by D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::add(), D\-D4hep\-::\-Geometry\-::\-World\-::alignments\-Loader(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::children(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::clone(), D\-D4hep\-::\-Geometry\-::\-Sensitive\-Detector\-::combine\-Hits(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::combine\-Hits(), D\-D4hep\-::\-Geometry\-::\-World\-::conditions\-Loader(), D\-D4hep\-::\-Geometry\-::\-Sensitive\-Detector\-::energy\-Cutoff(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::has\-Alignments(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::has\-Conditions(), D\-D4hep\-::\-Geometry\-::\-Sensitive\-Detector\-::hits\-Collection(), D\-D4hep\-::\-Geometry\-::\-Sensitive\-Detector\-::i\-\_\-add\-Extension(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::i\-\_\-add\-Extension(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::i\-\_\-add\-Update\-Call(), D\-D4hep\-::\-Geometry\-::\-Sensitive\-Detector\-::i\-\_\-extension(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::i\-\_\-extension(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::id(), D\-D4hep\-::\-Geometry\-::\-World\-::lcdd(), D\-D4hep\-::\-Geometry\-::\-Sensitive\-Detector\-::limits(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::nominal(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::parent\-Transformation(), D\-D4hep\-::\-Geometry\-::\-Sensitive\-Detector\-::readout(), D\-D4hep\-::\-Geometry\-::\-Sensitive\-Detector\-::region(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::remove\-At\-Update(), D\-D4hep\-::\-Geometry\-::\-Sensitive\-Detector\-::set\-Combine\-Hits(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::set\-Combine\-Hits(), D\-D4hep\-::\-Geometry\-::\-Sensitive\-Detector\-::set\-Energy\-Cutoff(), D\-D4hep\-::\-Geometry\-::\-Sensitive\-Detector\-::set\-Hits\-Collection(), D\-D4hep\-::\-Geometry\-::\-Sensitive\-Detector\-::set\-Limit\-Set(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::set\-Placement(), D\-D4hep\-::\-Geometry\-::\-Sensitive\-Detector\-::set\-Readout(), D\-D4hep\-::\-Geometry\-::\-Sensitive\-Detector\-::set\-Region(), D\-D4hep\-::\-Geometry\-::\-Sensitive\-Detector\-::set\-Type(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::set\-Type(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::set\-Type\-Flag(), D\-D4hep\-::\-Geometry\-::\-Sensitive\-Detector\-::set\-Verbose(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::survey(), D\-D4hep\-::\-Geometry\-::\-Sensitive\-Detector\-::verbose(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::volume(), and D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::world\-Transformation().

\hypertarget{class_d_d4hep_1_1_handle_a9f5b5d3feb89adf95fdfc4148c711209}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!assign@{assign}}
\index{assign@{assign}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{assign}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ void {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::assign (
\begin{DoxyParamCaption}
\item[{{\bf Implementation} $\ast$}]{n, }
\item[{const std\-::string \&}]{nam, }
\item[{const std\-::string \&}]{title}
\end{DoxyParamCaption}
)}}\label{class_d_d4hep_1_1_handle_a9f5b5d3feb89adf95fdfc4148c711209}


Assign a new named object. Note\-: object references must be managed by the user. 



Definition at line 27 of file Handle.\-inl.



Referenced by D\-D4hep\-::\-Alignments\-::\-Det\-Align\-::alignments(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-Object\-::assign\-\_\-conditions(), D\-D4hep\-::\-Conditions\-::\-Det\-Conditions\-::conditions(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::\-Det\-Element(), D\-D4hep\-::\-Geometry\-::\-Readout\-::\-Readout(), D\-D4hep\-::\-Geometry\-::\-Segmentation\-::\-Segmentation(), and D\-D4hep\-::\-Geometry\-::\-Sensitive\-Detector\-::\-Sensitive\-Detector().

\hypertarget{class_d_d4hep_1_1_handle_a21f25f49cd2d12c4448006f5343b6999}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!assign@{assign}}
\index{assign@{assign}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{assign}]{\setlength{\rightskip}{0pt plus 5cm}template$<$$>$ void {\bf D\-D4hep\-::\-Handle}$<$ {\bf \-\_\-\-Segmentation} $>$\-::assign (
\begin{DoxyParamCaption}
\item[{{\bf \-\_\-\-Segmentation} $\ast$}]{s, }
\item[{const std\-::string \&}]{n, }
\item[{const std\-::string \&}]{}
\end{DoxyParamCaption}
)}}\label{class_d_d4hep_1_1_handle_a21f25f49cd2d12c4448006f5343b6999}


Definition at line 261 of file Handle.\-cpp.



References s, and D\-D4hep\-::\-D\-D\-Segmentation\-::\-Segmentation\-::set\-Name().

\hypertarget{class_d_d4hep_1_1_handle_a7d6ad39bc68063a34d8d42ce1d9aef75}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!bad\-\_\-assignment@{bad\-\_\-assignment}}
\index{bad\-\_\-assignment@{bad\-\_\-assignment}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{bad\-\_\-assignment}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ void {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::bad\-\_\-assignment (
\begin{DoxyParamCaption}
\item[{const std\-::type\-\_\-info \&}]{from, }
\item[{const std\-::type\-\_\-info \&}]{to}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}}\label{class_d_d4hep_1_1_handle_a7d6ad39bc68063a34d8d42ce1d9aef75}


Helper routine called when unrelated types are assigned. 



Definition at line 21 of file Handle.\-inl.



References D\-D4hep\-::invalid\-Handle\-Assignment\-Error().

\hypertarget{class_d_d4hep_1_1_handle_ad50d0ea67a1c9a4e87d232f96ebe52f1}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!clear@{clear}}
\index{clear@{clear}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{clear}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ {\bf Handle}$<${\bf T}$>$\& {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::clear (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_handle_ad50d0ea67a1c9a4e87d232f96ebe52f1}


Release the object held by the handle. 



Definition at line 132 of file Handle.\-h.



Referenced by D\-D4hep\-::\-Geometry\-::\-L\-C\-D\-D\-Data\-::clear\-Data(), D\-D4hep\-::\-Geometry\-::\-L\-C\-D\-D\-Data\-::destroy\-Data(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-Object\-::$\sim$\-Det\-Element\-Object(), and D\-D4hep\-::\-Geometry\-::\-Sensitive\-Detector\-Object\-::$\sim$\-Sensitive\-Detector\-Object().

\hypertarget{class_d_d4hep_1_1_handle_ab3e284eed911ac85b32d5744d89fe960}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!data@{data}}
\index{data@{data}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{data}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ template$<$typename Q $>$ Q$\ast$ {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::data (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_handle_ab3e284eed911ac85b32d5744d89fe960}


Access to an unrelated object type. 



Definition at line 157 of file Handle.\-h.



Referenced by D\-D4hep\-::\-Geometry\-::operator$<$$<$(), and D\-D4hep\-::\-Geometry\-::\-Volume\-::set\-Vis\-Attributes().

\hypertarget{class_d_d4hep_1_1_handle_a4c5293aecb11989a708ec7615d0f0842}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!is\-Valid@{is\-Valid}}
\index{is\-Valid@{is\-Valid}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{is\-Valid}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ bool {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::is\-Valid (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_handle_a4c5293aecb11989a708ec7615d0f0842}


Check the validity of the object held by the handle. 



Definition at line 124 of file Handle.\-h.



Referenced by \-\_\-detector(), D\-D4hep\-::\-Geometry\-::\-Material\-::\-A(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::add(), D\-D4hep\-::\-Geometry\-::\-L\-C\-D\-D\-Imp\-::add\-Detector(), D\-D4hep\-::\-D\-D\-Rec\-::\-Layering\-Extension\-Impl\-::\-Layer\-Attributes\-::add\-Element(), D\-D4hep\-::\-Geometry\-::\-Volume\-Manager\-::add\-Subdetector(), D\-D4hep\-::\-D\-D4hep\-U\-I\-::alignment\-Mgr(), D\-D4hep\-::\-Alignments\-::\-Det\-Align\-::alignments(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-Object\-::assign\-\_\-conditions(), D\-D4hep\-::\-Simulation\-::\-Geant4\-Sensitive\-::cell\-I\-D(), D\-D4hep\-::\-Simulation\-::\-Geant4\-Volume\-Manager\-::check\-Validity(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::child(), D\-D4hep\-::\-Geometry\-::\-Geo\-Handler\-::collect(), D\-D4hep\-::\-Geometry\-::\-Readout\-::collection\-Names(), D\-D4hep\-::\-Geometry\-::\-Readout\-::collections(), D\-D4hep\-::\-Simulation\-::\-Geant4\-Converter\-::collect\-Volume(), D\-D4hep\-::\-Conditions\-::\-Condition\-Update\-Context\-::condition(), D\-D4hep\-::\-Conditions\-::\-Det\-Conditions\-::conditions(), D\-D4hep\-::\-Conditions\-::\-Conditions\-Data\-Loader\-::\-Conditions\-Data\-Loader(), D\-D4hep\-::\-D\-D4hep\-U\-I\-::conditions\-Mgr(), D\-D4hep\-::\-View\-::\-Configure\-Event(), D\-D4hep\-::\-View\-::\-Configure\-Geometry(), D\-D4hep\-::\-Alignments\-::\-Global\-Alignment\-Writer\-::create\-Element(), D\-D4hep\-::\-Utilities\-::create\-Eve\-Shape(), D\-D4hep\-::\-View\-::\-Create\-Geometry(), D\-D4hep\-::\-D\-D\-Rec\-::invalid\-\_\-detector\-\_\-element\-::create\-Msg(), D\-D4hep\-::\-X\-M\-L\-::create\-Placed\-Envelope(), D\-D4hep\-::\-X\-M\-L\-::create\-Shape(), D\-D4hep\-::\-Geometry\-::\-L\-C\-D\-D\-Imp\-::declare\-Mother\-Volume(), D\-D4hep\-::\-Geometry\-::\-Material\-::density(), D\-D4hep\-::\-D\-D\-Rec\-::\-I\-D\-Decoder\-::detector\-Element(), D\-D4hep\-::\-Geometry\-::\-Detector\-Selector\-::detectors(), D\-D4hep\-::\-Geometry\-::\-L\-C\-D\-D\-Imp\-::detectors(), dump\-Detectors(), D\-D4hep\-::\-Geometry\-::\-Detector\-Tools\-::element\-Path(), D\-D4hep\-::\-Geometry\-::\-Detector\-Tools\-::find\-Child(), find\-Child\-By\-Name(), D\-D4hep\-::\-Geometry\-::\-Detector\-Tools\-::find\-Daughter\-Element(), D\-D4hep\-::\-D\-D\-Rec\-::\-I\-D\-Decoder\-::find\-Readout(), D\-D4hep\-::\-Simulation\-::\-Geant4\-Sensitive\-::\-Geant4\-Sensitive(), D\-D4hep\-::\-Conditions\-::\-Conditions\-Dependency\-Handler\-::get(), D\-D4hep\-::\-Conditions\-::\-Condition\-Update\-Context\-::get(), D\-D4hep\-::\-Alignments\-::\-Container\-::get(), D\-D4hep\-::\-Conditions\-::\-Container\-::get(), D\-D4hep\-::\-Simulation\-::\-Geant4\-Sensitive\-Detector\-::get\-Cell\-I\-D(), D\-D4hep\-::\-D\-D\-Rec\-::\-I\-D\-Decoder\-::get\-Closest\-Daughter(), D\-D4hep\-::\-View\-::\-Get\-Global\-Geometry(), D\-D4hep\-::\-D\-D\-Rec\-::\-Layered\-Subdetector\-::get\-Layering\-Extension(), D\-D4hep\-::\-D\-D\-Rec\-::\-Subdetector\-Extension\-Impl\-::get\-N\-Sides(), D\-D4hep\-::\-D\-D\-Rec\-::\-Subdetector\-Extension\-Impl\-::get\-R\-Max(), D\-D4hep\-::\-D\-D\-Rec\-::\-Subdetector\-Extension\-Impl\-::get\-R\-Min(), D\-D4hep\-::\-D\-D\-Rec\-::\-Subdetector\-::get\-Subdetector\-Extension(), D\-D4hep\-::\-D\-D\-Rec\-::\-Tracker\-::get\-Tracker\-Extension(), D\-D4hep\-::\-D\-D\-Rec\-::\-Subdetector\-Extension\-Impl\-::get\-Z\-Max(), D\-D4hep\-::\-D\-D\-Rec\-::\-Subdetector\-Extension\-Impl\-::get\-Z\-Min(), D\-D4hep\-::\-Simulation\-::\-Geant4\-Converter\-::handle\-Region(), D\-D4hep\-::\-Geometry\-::\-Simple\-G\-D\-M\-L\-Writer\-::handle\-Visualisation(), D\-D4hep\-::\-Geometry\-::\-Geometry\-Tree\-Dump\-::handle\-Volume(), D\-D4hep\-::\-Geometry\-::\-Simple\-G\-D\-M\-L\-Writer\-::handle\-Volume(), D\-D4hep\-::\-Simulation\-::\-Geant4\-Converter\-::handle\-Volume(), D\-D4hep\-::\-Alignments\-::\-Det\-Align\-::has\-Alignments(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::has\-Alignments(), D\-D4hep\-::\-Alignments\-::\-Alignment\-Data\-::has\-Condition(), D\-D4hep\-::\-Conditions\-::\-Det\-Conditions\-::has\-Conditions(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::has\-Conditions(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-Object\-::i\-\_\-access\-\_\-world(), D\-D4hep\-::\-Geometry\-::\-Geo\-Handler\-::i\-\_\-collect(), D\-D4hep\-::\-D\-D\-Rec\-::\-I\-D\-Decoder\-::\-I\-D\-Decoder(), D\-D4hep\-::\-Geometry\-::\-L\-C\-D\-D\-Imp\-::init(), D\-D4hep\-::\-Geometry\-::\-Material\-::int\-Length(), D\-D4hep\-::\-Surface\-Installer\-::invalid\-Installer(), D\-D4hep\-::\-Geometry\-::\-Detector\-Tools\-::is\-Parent\-Element(), D\-D4hep\-::\-D\-D4hep\-U\-I\-::load\-Conditions(), D\-D4hep\-::\-Utilities\-::\-Load\-Det\-Element(), D\-D4hep\-::\-Display\-::\-Load\-Geo\-Children(), D\-D4hep\-::\-Geometry\-::\-L\-C\-D\-D\-Imp\-::map\-Detector\-Types(), D\-D4hep\-::\-D\-D\-Rec\-::\-Material\-Data\-::\-Material\-Data(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::nominal(), D\-D4hep\-::\-Geometry\-::\-Readout\-::num\-Collections(), D\-D4hep\-::\-Conditions\-::\-Conditions\-Printer\-::operator()(), D\-D4hep\-::\-Converter$<$ T, A\-R\-G $>$\-::operator()(), D\-D4hep\-::\-D\-D\-Rec\-::\-Material\-Data\-::operator=(), D\-D4hep\-::\-Surface\-Installer\-::parent\-Volume(), D\-D4hep\-::\-Geometry\-::\-L\-C\-D\-D\-Imp\-::pick\-Mother\-Volume(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::placement(), D\-D4hep\-::\-Alignments\-::print\-Alignment(), print\-Alignment\-Ex(), D\-D4hep\-::\-Simulation\-::\-Geant4\-Converter\-::print\-Sensitive(), D\-D4hep\-::\-Conditions\-::\-Conditions\-Processor\-::process\-Element(), D\-D4hep\-::\-Alignments\-::\-Alignments\-Processor\-::process\-Element(), D\-D4hep\-::\-Geometry\-::\-Material\-::rad\-Length(), D\-D4hep\-::\-Conditions\-::\-Conditions\-Manager\-Object\-::register\-Unlocked(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-Object\-::revalidate(), D\-D4hep\-::\-Alignments\-::\-Global\-Alignment\-Writer\-::scan(), D\-D4hep\-::\-Geometry\-::\-L\-C\-D\-D\-Helper\-::sensitive\-Detector(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::set\-Combine\-Hits(), D\-D4hep\-::\-Geometry\-::\-Readout\-::set\-I\-D\-Descriptor(), D\-D4hep\-::\-Geometry\-::\-Volume\-::set\-Material(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::set\-Placement(), D\-D4hep\-::\-Geometry\-::\-Readout\-::set\-Segmentation(), D\-D4hep\-::\-Geometry\-::\-Volume\-::set\-Vis\-Attributes(), D\-D4hep\-::\-Surface\-Installer\-::\-Surface\-Installer(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::survey(), D\-D4hep\-::\-Geometry\-::\-Detector\-Tools\-::top\-Element(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::volume\-I\-D(), D\-D4hep\-::\-Geometry\-::\-Volume\-Manager\-::\-Volume\-Manager(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-Object\-::world(), D\-D4hep\-::\-Geometry\-::\-Material\-::\-Z(), and D\-D4hep\-::\-Geometry\-::\-Readout\-Object\-::$\sim$\-Readout\-Object().

\hypertarget{class_d_d4hep_1_1_handle_a9c62b8d37e0f2354bae0093498dc15a1}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!name@{name}}
\index{name@{name}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{name}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ const char $\ast$ {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::name (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{class_d_d4hep_1_1_handle_a9c62b8d37e0f2354bae0093498dc15a1}


Access the object name (or \char`\"{}\char`\"{} if not supported by the object) 



Definition at line 36 of file Handle.\-inl.



Referenced by D\-D4hep\-::\-Conditions\-::\-Test\-::\-\_\-\-\_\-print\-\_\-bound\-\_\-container(), D\-D4hep\-::\-Conditions\-::\-Test\-::\-\_\-\-\_\-print\-\_\-bound\-\_\-val(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::add(), D\-D4hep\-::\-Geometry\-::\-L\-C\-D\-D\-Imp\-::add\-Detector(), D\-D4hep\-::\-Geometry\-::\-Volume\-Manager\-::add\-Subdetector(), D\-D4hep\-::\-Geometry\-::\-Volume\-Manager\-::adopt\-Placement(), D\-D4hep\-::\-Conditions\-::\-Test\-::check\-\_\-discrete\-\_\-condition(), D\-D4hep\-::\-View\-::\-Configure\-Event(), D\-D4hep\-::\-Simulation\-::\-Geant4\-Detector\-Sensitives\-Construction\-::construct\-Sensitives(), D\-D4hep\-::\-Simulation\-::\-Geant4\-Converter\-::create(), create\-\_\-detector(), D\-D4hep\-::\-D\-D\-Rec\-::\-Material\-Manager\-::create\-Averaged\-Material(), D\-D4hep\-::\-View\-::\-Create\-Geometry(), D\-D4hep\-::\-D\-D\-Rec\-::invalid\-\_\-detector\-\_\-element\-::create\-Msg(), D\-D4hep\-::\-Simulation\-::\-Geant4\-Sensitive\-Action$<$ T $>$\-::declare\-Readout\-Filtered\-Collection(), D\-D4hep\-::\-Simulation\-::\-Geant4\-Sensitive\-Action$<$ T $>$\-::define\-Readout\-Collection(), D\-D4hep\-::\-D\-D\-Rec\-::\-I\-D\-Decoder\-::detector\-Element(), dump\-Detectors(), D\-D4hep\-::\-Geometry\-::\-Detector\-Tools\-::element\-Path(), D\-D4hep\-::\-D\-D\-Rec\-::find\-Volume(), D\-D4hep\-::\-Simulation\-::\-Geant4\-Readout\-Volume\-Filter\-::\-Geant4\-Readout\-Volume\-Filter(), D\-D4hep\-::\-Simulation\-::\-Geant4\-Sensitive\-::\-Geant4\-Sensitive(), D\-D4hep\-::\-Conditions\-::\-Conditions\-Manager\-Object\-::get(), D\-D4hep\-::\-View\-::\-Get\-Global\-Geometry(), D\-D4hep\-::\-Simulation\-::\-Geant4\-Converter\-::handle\-Region(), D\-D4hep\-::\-Geometry\-::\-Simple\-G\-D\-M\-L\-Writer\-::handle\-Visualisation(), D\-D4hep\-::\-Geometry\-::\-Geometry\-Tree\-Dump\-::handle\-Volume(), D\-D4hep\-::\-Geometry\-::\-Simple\-G\-D\-M\-L\-Writer\-::handle\-Volume(), D\-D4hep\-::\-Simulation\-::\-Geant4\-Converter\-::handle\-Volume(), D\-D4hep\-::\-D\-D\-Rec\-::\-Surface\-::initialize(), D\-D4hep\-::\-Surface\-Installer\-::install(), D\-D4hep\-::\-Surface\-Installer\-::invalid\-Installer(), D\-D4hep\-::\-Utilities\-::\-Load\-Det\-Element(), D\-D4hep\-::\-Display\-::\-Load\-Geo\-Children(), D\-D4hep\-::\-Geometry\-::\-L\-C\-D\-D\-Imp\-::map\-Detector\-Types(), D\-D4hep\-::\-D\-D\-Rec\-::\-Material\-Data\-::\-Material\-Data(), D\-D4hep\-::\-Conditions\-::\-Conditions\-Printer\-::operator()(), D\-D4hep\-::\-D\-D\-Rec\-::operator$<$$<$(), D\-D4hep\-::\-Geometry\-::operator$<$$<$(), D\-D4hep\-::\-D\-D\-Rec\-::\-Material\-Data\-::operator=(), D\-D4hep\-::\-Geometry\-::\-L\-C\-D\-D\-Imp\-::pick\-Mother\-Volume(), D\-D4hep\-::\-Alignments\-::print\-Alignment(), D\-D4hep\-::\-Alignments\-::print\-Element\-Placement(), D\-D4hep\-::\-Simulation\-::\-Geant4\-Converter\-::print\-Sensitive(), D\-D4hep\-::\-Conditions\-::\-Conditions\-Processor\-::process\-Element(), D\-D4hep\-::\-Alignments\-::\-Alignments\-Processor\-::process\-Element(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-Object\-::reference\-Transformation(), D\-D4hep\-::\-Geometry\-::\-Volume\-::set\-Material(), D\-D4hep\-::\-Surface\-Installer\-::\-Surface\-Installer(), D\-D4hep\-::\-Geometry\-::\-Volume\-Manager\-Object\-::update(), and D\-D4hep\-::\-Geometry\-::\-Volume\-Manager\-::\-Volume\-Manager().

\hypertarget{class_d_d4hep_1_1_handle_a1a15b80c3f3e7e739a70b99f60a42092}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!name@{name}}
\index{name@{name}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{name}]{\setlength{\rightskip}{0pt plus 5cm}template$<$$>$ const char $\ast$ {\bf D\-D4hep\-::\-Handle}$<$ {\bf \-\_\-\-Segmentation} $>$\-::name (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{class_d_d4hep_1_1_handle_a1a15b80c3f3e7e739a70b99f60a42092}


Definition at line 265 of file Handle.\-cpp.

\hypertarget{class_d_d4hep_1_1_handle_a8dff99bb93b8d73f13d473e2a5618ba2}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!object@{object}}
\index{object@{object}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{object}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ template$<$typename Q $>$ Q\& {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::object (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_handle_a8dff99bb93b8d73f13d473e2a5618ba2}


Access to an unrelated object type. 



Definition at line 161 of file Handle.\-h.

\hypertarget{class_d_d4hep_1_1_handle_a065ea7927cff8151c3fb800dbef5658c}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!operator T \&@{operator T \&}}
\index{operator T \&@{operator T \&}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{operator T \&}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::operator {\bf T} \& (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_handle_a065ea7927cff8151c3fb800dbef5658c}


Automatic type conversion to an object references. 



Definition at line 141 of file Handle.\-h.

\hypertarget{class_d_d4hep_1_1_handle_a20ce72f3771ce4e1a3b58d652efda06d}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!operator!@{operator!}}
\index{operator!@{operator!}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{operator!}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ bool {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::operator! (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_handle_a20ce72f3771ce4e1a3b58d652efda06d}


Check the validity of the object held by the handle. 



Definition at line 128 of file Handle.\-h.

\hypertarget{class_d_d4hep_1_1_handle_a9524715e3d0523206bc51be8c13deb32}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ {\bf T}\& {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::operator$\ast$ (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_handle_a9524715e3d0523206bc51be8c13deb32}


Access the held object using the $\ast$ operator. 



Definition at line 145 of file Handle.\-h.

\hypertarget{class_d_d4hep_1_1_handle_afb3984a2a89e50232d519c535818d74b}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!operator-\/$>$@{operator-\/$>$}}
\index{operator-\/$>$@{operator-\/$>$}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{operator-\/$>$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ {\bf T}$\ast$ {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::operator-\/$>$ (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_handle_afb3984a2a89e50232d519c535818d74b}


Access the held object using the -\/$>$ operator. 



Definition at line 137 of file Handle.\-h.

\hypertarget{class_d_d4hep_1_1_handle_a287ad7d458faab8f84dbfa6fd48e1d30}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!operator$<$@{operator$<$}}
\index{operator$<$@{operator$<$}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{operator$<$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ bool {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::operator$<$ (
\begin{DoxyParamCaption}
\item[{const {\bf Handle}$<$ {\bf T} $>$ \&}]{e}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_handle_a287ad7d458faab8f84dbfa6fd48e1d30}


Boolean operator $<$ used for R\-B tree insertions. 



Definition at line 116 of file Handle.\-h.

\hypertarget{class_d_d4hep_1_1_handle_a5533618199d670602acedf94b39f1aa4}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!operator=@{operator=}}
\index{operator=@{operator=}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ {\bf Handle}$<${\bf T}$>$\& {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::operator= (
\begin{DoxyParamCaption}
\item[{const {\bf Handle}$<$ {\bf T} $>$ \&}]{e}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [default]}}}\label{class_d_d4hep_1_1_handle_a5533618199d670602acedf94b39f1aa4}


Assignment operator. 

\hypertarget{class_d_d4hep_1_1_handle_a618470283b3a2cc5ed0545fec90dc759}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!operator==@{operator==}}
\index{operator==@{operator==}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{operator==}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ bool {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::operator== (
\begin{DoxyParamCaption}
\item[{const {\bf Handle}$<$ {\bf T} $>$ \&}]{e}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_handle_a618470283b3a2cc5ed0545fec90dc759}


Boolean operator == used for R\-B tree insertions. 



Definition at line 112 of file Handle.\-h.

\hypertarget{class_d_d4hep_1_1_handle_a31b4a56e1f449b035e07a38ffd9b7d5a}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!operator$>$@{operator$>$}}
\index{operator$>$@{operator$>$}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{operator$>$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ bool {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::operator$>$ (
\begin{DoxyParamCaption}
\item[{const {\bf Handle}$<$ {\bf T} $>$ \&}]{e}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_handle_a31b4a56e1f449b035e07a38ffd9b7d5a}


Boolean operator $>$ used for R\-B tree insertions. 



Definition at line 120 of file Handle.\-h.

\hypertarget{class_d_d4hep_1_1_handle_a51a7d12a15a2a18977a0036bc6435cc8}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!ptr@{ptr}}
\index{ptr@{ptr}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{ptr}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ {\bf T}$\ast$ {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::ptr (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_handle_a51a7d12a15a2a18977a0036bc6435cc8}


Access to the held object. 



Definition at line 149 of file Handle.\-h.



Referenced by D\-D4hep\-::\-Conditions\-::\-Conditions\-Manager\-Object\-::\-\_\-\-\_\-queue\-\_\-update(), D\-D4hep\-::\-Geometry\-::\-Volume\-Manager\-::\-\_\-data(), D\-D4hep\-::\-Geometry\-::\-Volume\-Manager\-::adopt\-Placement(), D\-D4hep\-::\-Simulation\-::\-Geant4\-Volume\-Manager\-::check\-Validity(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::child(), D\-D4hep\-::\-Geometry\-::\-Geo\-Handler\-::collect(), D\-D4hep\-::\-Alignments\-::\-Alignment\-Tools\-::compute\-Ideal(), D\-D4hep\-::\-Alignments\-::\-Alignment\-Tools\-::compute\-Survey(), D\-D4hep\-::\-Alignments\-::\-Alignment\-Tools\-::copy(), D\-D4hep\-::\-Simulation\-::\-Geant4\-Converter\-::create(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::\-Det\-Element(), dump\-Structure(), D\-D4hep\-::\-Geometry\-::\-Detector\-Tools\-::element\-Path(), D\-D4hep\-::\-Geometry\-::\-Multipole\-Field\-::field\-Components(), D\-D4hep\-::\-Geometry\-::\-Detector\-Tools\-::find\-Child(), find\-Child\-By\-Name(), D\-D4hep\-::\-Geometry\-::\-Detector\-Tools\-::find\-Node(), D\-D4hep\-::\-D\-D\-Rec\-::find\-Volume(), D\-D4hep\-::\-Conditions\-::\-Conditions\-Loader\-Imp\-::get(), D\-D4hep\-::\-Conditions\-::\-Alignments\-Loader\-Imp\-::get(), D\-D4hep\-::\-Conditions\-::\-Conditions\-Dependency\-Handler\-::get(), D\-D4hep\-::\-Geometry\-::\-Geometry\-Tree\-Dump\-::handle\-Volume(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-Object\-::i\-\_\-access\-\_\-world(), D\-D4hep\-::\-Geometry\-::\-L\-C\-D\-D\-Imp\-::init(), D\-D4hep\-::\-Alignments\-::\-Global\-Alignment\-Cache\-::insert(), D\-D4hep\-::\-Surface\-Installer\-::install(), D\-D4hep\-::\-Geometry\-::\-Detector\-Tools\-::is\-Parent\-Element(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::key(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::level(), D\-D4hep\-::\-Utilities\-::\-Load\-Det\-Element(), D\-D4hep\-::\-Display\-::\-Load\-Geo\-Children(), D\-D4hep\-::\-Conditions\-::make\-\_\-key(), D\-D4hep\-::\-Alignments\-::\-Alignments\-Manager\-::new\-Entry(), D\-D4hep\-::\-Conditions\-::\-Conditions\-Pool\-::on\-Register(), D\-D4hep\-::\-Conditions\-::\-Conditions\-Pool\-::on\-Remove(), D\-D4hep\-::\-Alignments\-::\-D\-D\-Align\-Forward\-Call\-::operator()(), D\-D4hep\-::\-Conditions\-::\-Conditions\-Pool\-Insert\-::operator()(), D\-D4hep\-::\-Conditions\-::\-Conditions\-Printer\-::operator()(), D\-D4hep\-::\-Conditions\-::\-Conditions\-Pool\-Remove\-::operator()(), D\-D4hep\-::\-Conditions\-::\-Pool\-Insert$<$ pool\-\_\-type $>$\-::operator()(), D\-D4hep\-::\-Conditions\-::\-Collection\-Select$<$ collection\-\_\-type $>$\-::operator()(), D\-D4hep\-::\-Conditions\-::\-Active\-Select$<$ collection\-\_\-type $>$\-::operator()(), D\-D4hep\-::\-Conditions\-::\-Keyed\-Select$<$ collection\-\_\-type $>$\-::operator()(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::operator$<$(), D\-D4hep\-::\-Alignments\-::\-Global\-Alignment\-::operator=(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::operator==(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::parent(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::path(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::placement\-Path(), D\-D4hep\-::\-Alignments\-::print\-Alignment(), print\-Alignment\-Ex(), D\-D4hep\-::\-Alignments\-::print\-Element\-Placement(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-Object\-::reference\-Transformation(), D\-D4hep\-::\-Conditions\-::\-Conditions\-Manager\-Object\-::register\-Condition(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-Object\-::revalidate(), D\-D4hep\-::\-Geometry\-::\-Readout\-::set\-Segmentation(), D\-D4hep\-::\-Geometry\-::\-Volume\-::\-Volume(), D\-D4hep\-::\-Simulation\-::\-Geant4\-Volume\-Manager\-::volume\-Descriptor(), D\-D4hep\-::\-Simulation\-::\-Geant4\-Volume\-Manager\-::volume\-I\-D(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::world(), and D\-D4hep\-::\-Geometry\-::\-Readout\-Object\-::$\sim$\-Readout\-Object().

\hypertarget{class_d_d4hep_1_1_handle_a664da2f5ac76434379046989853da656}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!verify\-Object@{verify\-Object}}
\index{verify\-Object@{verify\-Object}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{verify\-Object}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ void {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::verify\-Object (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{class_d_d4hep_1_1_handle_a664da2f5ac76434379046989853da656}


Verify the object type after a (re-\/)assignment. 



Referenced by D\-D4hep\-::\-Handle$<$ Readout\-Object $>$\-::\-Handle().



\subsection{Member Data Documentation}
\hypertarget{class_d_d4hep_1_1_handle_a207411705e86b0f4053357c7a8b5532e}{\index{D\-D4hep\-::\-Handle@{D\-D4hep\-::\-Handle}!m\-\_\-element@{m\-\_\-element}}
\index{m\-\_\-element@{m\-\_\-element}!DD4hep::Handle@{D\-D4hep\-::\-Handle}}
\subsubsection[{m\-\_\-element}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ {\bf T}$\ast$ {\bf D\-D4hep\-::\-Handle}$<$ {\bf T} $>$\-::m\-\_\-element = 0}}\label{class_d_d4hep_1_1_handle_a207411705e86b0f4053357c7a8b5532e}


Single and only data member\-: Reference to the actual element. 



Definition at line 96 of file Handle.\-h.



Referenced by D\-D4hep\-::\-Handle$<$ Readout\-Object $>$\-::\-\_\-ptr(), D\-D4hep\-::\-Handle$<$ Readout\-Object $>$\-::clear(), D\-D4hep\-::\-Handle$<$ Readout\-Object $>$\-::data(), D\-D4hep\-::\-Handle$<$ Readout\-Object $>$\-::is\-Valid(), D\-D4hep\-::\-Handle$<$ Readout\-Object $>$\-::object(), D\-D4hep\-::\-Geometry\-::\-Solid\-\_\-type$<$ T\-Geo\-Trd2 $>$\-::operator T\-Geo\-Trd2 $\ast$(), D\-D4hep\-::\-Geometry\-::\-Volume\-::operator T\-Geo\-Volume $\ast$(), D\-D4hep\-::\-Handle$<$ World\-Object $>$\-::operator World\-Object \&(), D\-D4hep\-::\-Handle$<$ Readout\-Object $>$\-::operator!(), D\-D4hep\-::\-Handle$<$ Readout\-Object $>$\-::operator$\ast$(), D\-D4hep\-::\-Geometry\-::\-Solid\-\_\-type$<$ T\-Geo\-B\-Box $>$\-::operator-\/$>$(), D\-D4hep\-::\-Handle$<$ Readout\-Object $>$\-::operator-\/$>$(), D\-D4hep\-::\-Handle$<$ Readout\-Object $>$\-::operator$<$(), D\-D4hep\-::\-Geometry\-::\-World\-::operator=(), D\-D4hep\-::\-Conditions\-::\-Det\-Conditions\-::operator=(), D\-D4hep\-::\-Alignments\-::\-Det\-Align\-::operator=(), D\-D4hep\-::\-Simulation\-::\-Geant4\-Volume\-Manager\-::operator=(), D\-D4hep\-::\-Geometry\-::\-Volume\-Manager\-::operator=(), D\-D4hep\-::\-Geometry\-::\-Placed\-Volume\-::operator=(), D\-D4hep\-::\-Geometry\-::\-Header\-::operator=(), D\-D4hep\-::\-Geometry\-::\-Volume\-::operator=(), D\-D4hep\-::\-Geometry\-::\-Assembly\-::operator=(), D\-D4hep\-::\-Geometry\-::\-Vis\-Attr\-::operator=(), D\-D4hep\-::\-Geometry\-::\-Limit\-Set\-::operator=(), D\-D4hep\-::\-Geometry\-::\-Region\-::operator=(), D\-D4hep\-::\-Geometry\-::\-Wafer\-Grid\-X\-Y\-::operator==(), D\-D4hep\-::\-Geometry\-::\-Polar\-Grid\-R\-Phi\-::operator==(), D\-D4hep\-::\-Geometry\-::\-Polar\-Grid\-R\-Phi2\-::operator==(), D\-D4hep\-::\-Geometry\-::\-Multi\-Segmentation\-::operator==(), D\-D4hep\-::\-Geometry\-::\-Cartesian\-Grid\-X\-Y\-::operator==(), D\-D4hep\-::\-Geometry\-::\-Cartesian\-Grid\-X\-Y\-Z\-::operator==(), D\-D4hep\-::\-Geometry\-::\-Cartesian\-Grid\-Y\-Z\-::operator==(), D\-D4hep\-::\-Geometry\-::\-Cartesian\-Grid\-X\-Z\-::operator==(), D\-D4hep\-::\-Handle$<$ Readout\-Object $>$\-::operator==(), D\-D4hep\-::\-Handle$<$ Readout\-Object $>$\-::operator$>$(), D\-D4hep\-::\-Handle$<$ Readout\-Object $>$\-::ptr(), D\-D4hep\-::\-Geometry\-::\-Solid\-\_\-type$<$ T\-Geo\-B\-Box $>$\-::to\-String(), D\-D4hep\-::\-Geometry\-::\-Sensitive\-Detector\-::type(), D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::type(), and D\-D4hep\-::\-Geometry\-::\-Det\-Element\-::type\-Flag().



The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
/opt/ilcsoft/\-H\-E\-A\-D-\/2016-\/12-\/02/\-D\-D4hep/\-H\-E\-A\-D/\-D\-D\-Core/include/\-D\-D4hep/\hyperlink{_handle_8h}{Handle.\-h}\item 
/opt/ilcsoft/\-H\-E\-A\-D-\/2016-\/12-\/02/\-D\-D4hep/\-H\-E\-A\-D/\-D\-D\-Core/include/\-D\-D4hep/\hyperlink{_handle_8inl}{Handle.\-inl}\end{DoxyCompactItemize}
