\hypertarget{_handle_8inl}{\section{/opt/ilcsoft/\-H\-E\-A\-D-\/2016-\/12-\/02/\-D\-D4hep/\-H\-E\-A\-D/\-D\-D\-Core/include/\-D\-D4hep/\-Handle.inl File Reference}
\label{_handle_8inl}\index{/opt/ilcsoft/\-H\-E\-A\-D-\/2016-\/12-\/02/\-D\-D4hep/\-H\-E\-A\-D/\-D\-D\-Core/include/\-D\-D4hep/\-Handle.\-inl@{/opt/ilcsoft/\-H\-E\-A\-D-\/2016-\/12-\/02/\-D\-D4hep/\-H\-E\-A\-D/\-D\-D\-Core/include/\-D\-D4hep/\-Handle.\-inl}}
}
{\ttfamily \#include \char`\"{}D\-D4hep/\-Handle.\-h\char`\"{}}\\*
\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}\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{_handle_8inl_ac1a93b92fc9aaa3e60484a966cc20b4f}{D\-D4\-H\-E\-P\-\_\-\-I\-N\-S\-T\-A\-N\-T\-I\-A\-T\-E\-\_\-\-H\-A\-N\-D\-L\-E}(X)
\item 
\#define \hyperlink{_handle_8inl_a9da33fd2046c253711abd9194ce5265a}{D\-D4\-H\-E\-P\-\_\-\-I\-N\-S\-T\-A\-N\-T\-I\-A\-T\-E\-\_\-\-H\-A\-N\-D\-L\-E\-\_\-\-N\-A\-M\-E\-D}(X)
\item 
\#define \hyperlink{_handle_8inl_ad861f1cd8d1e45907d1e481780fa99d2}{D\-D4\-H\-E\-P\-\_\-\-I\-N\-S\-T\-A\-N\-T\-I\-A\-T\-E\-\_\-\-H\-A\-N\-D\-L\-E\-\_\-\-U\-N\-N\-A\-M\-E\-D}(X)
\end{DoxyCompactItemize}


\subsection{Macro Definition Documentation}
\hypertarget{_handle_8inl_ac1a93b92fc9aaa3e60484a966cc20b4f}{\index{Handle.\-inl@{Handle.\-inl}!D\-D4\-H\-E\-P\-\_\-\-I\-N\-S\-T\-A\-N\-T\-I\-A\-T\-E\-\_\-\-H\-A\-N\-D\-L\-E@{D\-D4\-H\-E\-P\-\_\-\-I\-N\-S\-T\-A\-N\-T\-I\-A\-T\-E\-\_\-\-H\-A\-N\-D\-L\-E}}
\index{D\-D4\-H\-E\-P\-\_\-\-I\-N\-S\-T\-A\-N\-T\-I\-A\-T\-E\-\_\-\-H\-A\-N\-D\-L\-E@{D\-D4\-H\-E\-P\-\_\-\-I\-N\-S\-T\-A\-N\-T\-I\-A\-T\-E\-\_\-\-H\-A\-N\-D\-L\-E}!Handle.inl@{Handle.\-inl}}
\subsubsection[{D\-D4\-H\-E\-P\-\_\-\-I\-N\-S\-T\-A\-N\-T\-I\-A\-T\-E\-\_\-\-H\-A\-N\-D\-L\-E}]{\setlength{\rightskip}{0pt plus 5cm}\#define D\-D4\-H\-E\-P\-\_\-\-I\-N\-S\-T\-A\-N\-T\-I\-A\-T\-E\-\_\-\-H\-A\-N\-D\-L\-E(
\begin{DoxyParamCaption}
\item[{}]{X}
\end{DoxyParamCaption}
)}}\label{_handle_8inl_ac1a93b92fc9aaa3e60484a966cc20b4f}
{\bfseries Value\-:}
\begin{DoxyCode}
\textcolor{keyword}{namespace }DD4hep \{                                                    \(\backslash\)
    template <> \textcolor{keywordtype}{void} \hyperlink{class_d_d4hep_1_1_handle_a664da2f5ac76434379046989853da656}{Handle<X>::verifyObject}()\textcolor{keyword}{ const  }\{                 
      \hyperlink{namespace_d_d4hep_a74a35c08bae34ad9a479a1726eafab98}{\(\backslash\)}
\hyperlink{namespace_d_d4hep_a74a35c08bae34ad9a479a1726eafab98}{      increment\_object\_validations}();                                 \(\backslash\)
      if (m\_element && dynamic\_cast<X*>(m\_element) == 0) \{              \(\backslash\)
        bad\_assignment(\textcolor{keyword}{typeid}(*m\_element), \textcolor{keyword}{typeid}(X));                  \(\backslash\)
      \}                                                                 \(\backslash\)
  \}\}                                                                    \(\backslash\)
  template \textcolor{keyword}{class }\hyperlink{class_d_d4hep_1_1_handle}{DD4hep::Handle}<X>
\end{DoxyCode}


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

\hypertarget{_handle_8inl_a9da33fd2046c253711abd9194ce5265a}{\index{Handle.\-inl@{Handle.\-inl}!D\-D4\-H\-E\-P\-\_\-\-I\-N\-S\-T\-A\-N\-T\-I\-A\-T\-E\-\_\-\-H\-A\-N\-D\-L\-E\-\_\-\-N\-A\-M\-E\-D@{D\-D4\-H\-E\-P\-\_\-\-I\-N\-S\-T\-A\-N\-T\-I\-A\-T\-E\-\_\-\-H\-A\-N\-D\-L\-E\-\_\-\-N\-A\-M\-E\-D}}
\index{D\-D4\-H\-E\-P\-\_\-\-I\-N\-S\-T\-A\-N\-T\-I\-A\-T\-E\-\_\-\-H\-A\-N\-D\-L\-E\-\_\-\-N\-A\-M\-E\-D@{D\-D4\-H\-E\-P\-\_\-\-I\-N\-S\-T\-A\-N\-T\-I\-A\-T\-E\-\_\-\-H\-A\-N\-D\-L\-E\-\_\-\-N\-A\-M\-E\-D}!Handle.inl@{Handle.\-inl}}
\subsubsection[{D\-D4\-H\-E\-P\-\_\-\-I\-N\-S\-T\-A\-N\-T\-I\-A\-T\-E\-\_\-\-H\-A\-N\-D\-L\-E\-\_\-\-N\-A\-M\-E\-D}]{\setlength{\rightskip}{0pt plus 5cm}\#define D\-D4\-H\-E\-P\-\_\-\-I\-N\-S\-T\-A\-N\-T\-I\-A\-T\-E\-\_\-\-H\-A\-N\-D\-L\-E\-\_\-\-N\-A\-M\-E\-D(
\begin{DoxyParamCaption}
\item[{}]{X}
\end{DoxyParamCaption}
)}}\label{_handle_8inl_a9da33fd2046c253711abd9194ce5265a}
{\bfseries Value\-:}
\begin{DoxyCode}
\textcolor{keyword}{namespace }DD4hep \{                                                    \(\backslash\)
    template <> \textcolor{keyword}{const} \textcolor{keywordtype}{char}* \hyperlink{class_d_d4hep_1_1_handle_a9c62b8d37e0f2354bae0093498dc15a1}{Handle<X>::name}() const                      \(\backslash\)
    \{ \textcolor{keywordflow}{return} this->m\_element ? this->m\_element->name.c\_str() : \textcolor{stringliteral}{""}; \}    \(\backslash\)
    template <> void                                                    \(\backslash\)
    Handle<X>::assign(X* p, \textcolor{keyword}{const} std::string& n, \textcolor{keyword}{const} std::string& t)\{\(\backslash\)
      this->m\_element = p;                                              \(\backslash\)
      p->name = n;                                                      \(\backslash\)
      p->type = t;                                                      \(\backslash\)
    \}                                                                   \(\backslash\)
    template <> \textcolor{keywordtype}{void} \hyperlink{class_d_d4hep_1_1_handle_a664da2f5ac76434379046989853da656}{Handle<X>::verifyObject}()\textcolor{keyword}{ const     }\{               
      \hyperlink{namespace_d_d4hep_a74a35c08bae34ad9a479a1726eafab98}{\(\backslash\)}
\hyperlink{namespace_d_d4hep_a74a35c08bae34ad9a479a1726eafab98}{      increment\_object\_validations}();                                   \(\backslash\)
      if (m\_element && dynamic\_cast<X*>((NamedObject*)m\_element) == 0) \{\(\backslash\)
        bad\_assignment(\textcolor{keyword}{typeid}(*m\_element), \textcolor{keyword}{typeid}(X));                  \(\backslash\)
      \}                                                                 \(\backslash\)
    \}\}                                                                  \(\backslash\)
  template \textcolor{keyword}{class }\hyperlink{class_d_d4hep_1_1_handle}{DD4hep::Handle}<X>
\end{DoxyCode}


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

\hypertarget{_handle_8inl_ad861f1cd8d1e45907d1e481780fa99d2}{\index{Handle.\-inl@{Handle.\-inl}!D\-D4\-H\-E\-P\-\_\-\-I\-N\-S\-T\-A\-N\-T\-I\-A\-T\-E\-\_\-\-H\-A\-N\-D\-L\-E\-\_\-\-U\-N\-N\-A\-M\-E\-D@{D\-D4\-H\-E\-P\-\_\-\-I\-N\-S\-T\-A\-N\-T\-I\-A\-T\-E\-\_\-\-H\-A\-N\-D\-L\-E\-\_\-\-U\-N\-N\-A\-M\-E\-D}}
\index{D\-D4\-H\-E\-P\-\_\-\-I\-N\-S\-T\-A\-N\-T\-I\-A\-T\-E\-\_\-\-H\-A\-N\-D\-L\-E\-\_\-\-U\-N\-N\-A\-M\-E\-D@{D\-D4\-H\-E\-P\-\_\-\-I\-N\-S\-T\-A\-N\-T\-I\-A\-T\-E\-\_\-\-H\-A\-N\-D\-L\-E\-\_\-\-U\-N\-N\-A\-M\-E\-D}!Handle.inl@{Handle.\-inl}}
\subsubsection[{D\-D4\-H\-E\-P\-\_\-\-I\-N\-S\-T\-A\-N\-T\-I\-A\-T\-E\-\_\-\-H\-A\-N\-D\-L\-E\-\_\-\-U\-N\-N\-A\-M\-E\-D}]{\setlength{\rightskip}{0pt plus 5cm}\#define D\-D4\-H\-E\-P\-\_\-\-I\-N\-S\-T\-A\-N\-T\-I\-A\-T\-E\-\_\-\-H\-A\-N\-D\-L\-E\-\_\-\-U\-N\-N\-A\-M\-E\-D(
\begin{DoxyParamCaption}
\item[{}]{X}
\end{DoxyParamCaption}
)}}\label{_handle_8inl_ad861f1cd8d1e45907d1e481780fa99d2}
{\bfseries Value\-:}
\begin{DoxyCode}
\textcolor{keyword}{namespace }DD4hep \{                                                    \(\backslash\)
    template <> void                                                    \(\backslash\)
    Handle<X>::assign(X* n, \textcolor{keyword}{const} std::string&, \textcolor{keyword}{const} std::string&)     \(\backslash\)
    \{ this->m\_element = n;\}                                             \(\backslash\)
    template <> \textcolor{keyword}{const} \textcolor{keywordtype}{char}* \hyperlink{class_d_d4hep_1_1_handle_a9c62b8d37e0f2354bae0093498dc15a1}{Handle<X>::name}()\textcolor{keyword}{ const }\{ \textcolor{keywordflow}{return} \textcolor{stringliteral}{""}; \}       \(\backslash\)
  \}                                                                     \hyperlink{_handle_8inl_ac1a93b92fc9aaa3e60484a966cc20b4f}{\(\backslash\)}
\hyperlink{_handle_8inl_ac1a93b92fc9aaa3e60484a966cc20b4f}{  DD4HEP\_INSTANTIATE\_HANDLE}(X)
\end{DoxyCode}


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

