\section{A\-I\-D\-A\-:\-:I\-Managed\-Object\-R\-O\-O\-T Class Reference}
\label{classAIDA_1_1IManagedObjectROOT}\index{A\-I\-D\-A\-::\-I\-Managed\-Object\-R\-O\-O\-T@{A\-I\-D\-A\-::\-I\-Managed\-Object\-R\-O\-O\-T}}


An object which can be stored in a tree.  




{\ttfamily \#include $<$I\-Managed\-Object\-R\-O\-O\-T.\-h$>$}

Inheritance diagram for A\-I\-D\-A\-:\-:I\-Managed\-Object\-R\-O\-O\-T\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classAIDA_1_1IManagedObjectROOT}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual {\bf $\sim$\-I\-Managed\-Object} ()\label{classAIDA_1_1IManagedObjectROOT_a0414fd57c243103e123829490a03cb1f}

\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
virtual std\-::string {\bf name} () const 
\begin{DoxyCompactList}\small\item\em Get the name of an \doxyref{I\-Managed\-Object}{p.}{classAIDA_1_1IManagedObject}. \end{DoxyCompactList}\item 
virtual void $\ast$ {\bf cast} (const std\-::string \&class\-Name) const 
\begin{DoxyCompactList}\small\item\em A simple introspection method. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
An object which can be stored in a tree. 

\begin{DoxySeeAlso}{See Also}
\doxyref{I\-Tree}{p.}{classAIDA_1_1ITree}
\end{DoxySeeAlso}
\begin{DoxyAuthor}{Author}
T. Kraemer, D\-E\-S\-Y 
\end{DoxyAuthor}
\begin{DoxyVersion}{Version}

\end{DoxyVersion}
\begin{DoxyParagraph}{Id\-:}
\doxyref{I\-Managed\-Object\-R\-O\-O\-T.\-h}{p.}{IManagedObjectROOT_8h_source},v 1.\-2 2006-\/12-\/04 17\-:24\-:06 tkraemer Exp 
\end{DoxyParagraph}


\subsection{Member Function Documentation}
\index{A\-I\-D\-A\-::\-I\-Managed\-Object\-R\-O\-O\-T@{A\-I\-D\-A\-::\-I\-Managed\-Object\-R\-O\-O\-T}!cast@{cast}}
\index{cast@{cast}!AIDA::IManagedObjectROOT@{A\-I\-D\-A\-::\-I\-Managed\-Object\-R\-O\-O\-T}}
\subsubsection[{cast}]{\setlength{\rightskip}{0pt plus 5cm}virtual void$\ast$ A\-I\-D\-A\-::\-I\-Managed\-Object\-R\-O\-O\-T\-::cast (
\begin{DoxyParamCaption}
\item[{const std\-::string \&}]{class\-Name}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}\label{classAIDA_1_1IManagedObjectROOT_a3cb160425c95a62f8dd9ec3b4f4e3623}


A simple introspection method. 

It offers to implementations the possibility to avoid the usage of the dynamic\-\_\-cast. It appears that this C++ feature is not yet reliable (May 2003) in complex environments that intensivly use the dynamic loading. The signature of this method follows the qt\-\_\-cast method found in Qt (see the Q\-\_\-\-O\-B\-J\-E\-C\-T macro). Example of usage is \-: \doxyref{A\-I\-D\-A\-::\-I\-Managed\-Object}{p.}{classAIDA_1_1IManagedObject}$\ast$ object = tree-\/$>$find(\char`\"{}my\-Data\char`\"{}); if(object) \{ \doxyref{A\-I\-D\-A\-::\-I\-Histogram}{p.}{classAIDA_1_1IHistogram}$\ast$ histo = object-\/$>$cast(\char`\"{}\-A\-I\-D\-A\-::\-I\-Histogram\char`\"{}); if(histo) \{ // the object is an histo. \} \} 
\begin{DoxyParams}{Parameters}
{\em class\-Name} & The name of the class to cast on. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The right pointer. Return 0 if class\-Name is not in the inheritance tree. 
\end{DoxyReturn}


Implements {\bf A\-I\-D\-A\-::\-I\-Managed\-Object} \doxyref{}{p.}{classAIDA_1_1IManagedObject_aa077941d4c25b7eec33beee48f5d07d5}.

\index{A\-I\-D\-A\-::\-I\-Managed\-Object\-R\-O\-O\-T@{A\-I\-D\-A\-::\-I\-Managed\-Object\-R\-O\-O\-T}!name@{name}}
\index{name@{name}!AIDA::IManagedObjectROOT@{A\-I\-D\-A\-::\-I\-Managed\-Object\-R\-O\-O\-T}}
\subsubsection[{name}]{\setlength{\rightskip}{0pt plus 5cm}virtual std\-::string A\-I\-D\-A\-::\-I\-Managed\-Object\-R\-O\-O\-T\-::name (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}\label{classAIDA_1_1IManagedObjectROOT_a4b7b8c3583faf8e277eed3d22af03214}


Get the name of an \doxyref{I\-Managed\-Object}{p.}{classAIDA_1_1IManagedObject}. 

Names can only be changed using the I\-Tree.\-mv(). \begin{DoxyReturn}{Returns}
The name of the \doxyref{I\-Managed\-Object}{p.}{classAIDA_1_1IManagedObject}. 
\end{DoxyReturn}


Implements {\bf A\-I\-D\-A\-::\-I\-Managed\-Object} \doxyref{}{p.}{classAIDA_1_1IManagedObject_a8fbbafb89f456d2189b3f2433a0fdef2}.



The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
I\-Managed\-Object\-R\-O\-O\-T.\-h\end{DoxyCompactItemize}
