\section{I\-M\-P\-L\-:\-:Cluster\-Impl Class Reference}
\label{classIMPL_1_1ClusterImpl}\index{I\-M\-P\-L\-::\-Cluster\-Impl@{I\-M\-P\-L\-::\-Cluster\-Impl}}


Implementation of Cluster.  




{\ttfamily \#include $<$I\-M\-P\-L/\-Cluster\-Impl.\-h$>$}

Inheritance diagram for I\-M\-P\-L\-:\-:Cluster\-Impl\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5.000000cm]{classIMPL_1_1ClusterImpl}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\bf Cluster\-Impl} ()\label{classIMPL_1_1ClusterImpl_a4ce0d4904eb1545fac4c98ad54c14280}

\begin{DoxyCompactList}\small\item\em Default constructor, initializes values to 0. \end{DoxyCompactList}\item 
virtual {\bf $\sim$\-Cluster\-Impl} ()\label{classIMPL_1_1ClusterImpl_a1c1c973a6fbb3165d43426689f58cb2d}

\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
virtual int {\bf id} () const \label{classIMPL_1_1ClusterImpl_a59c4f47048875a4232a479400847b9a3}

\begin{DoxyCompactList}\small\item\em Returns an object id for internal (debugging) use in L\-C\-I\-O. \end{DoxyCompactList}\item 
virtual int {\bf get\-Type} () const 
\begin{DoxyCompactList}\small\item\em Flagword that defines the type of cluster. \end{DoxyCompactList}\item 
virtual float {\bf get\-Energy} () const \label{classIMPL_1_1ClusterImpl_a5467b68d54931e83aef9accb58ce3061}

\begin{DoxyCompactList}\small\item\em Energy of the cluster. \end{DoxyCompactList}\item 
virtual float {\bf get\-Energy\-Error} () const \label{classIMPL_1_1ClusterImpl_aec905a356111074d171dcba741e4cf85}

\begin{DoxyCompactList}\small\item\em Returns the error on the energy of the cluster. \end{DoxyCompactList}\item 
virtual const float $\ast$ {\bf get\-Position} () const \label{classIMPL_1_1ClusterImpl_ae81aae9d5c1ca5ebb2a4d11c3f1cad04}

\begin{DoxyCompactList}\small\item\em Position of the cluster. \end{DoxyCompactList}\item 
virtual const {\bf E\-V\-E\-N\-T\-::\-Float\-Vec} \& {\bf get\-Position\-Error} () const \label{classIMPL_1_1ClusterImpl_a2df073d0e1f8770a328e6c239fe300d8}

\begin{DoxyCompactList}\small\item\em Covariance matrix of the position (6 Parameters) \end{DoxyCompactList}\item 
virtual float {\bf get\-I\-Theta} () const \label{classIMPL_1_1ClusterImpl_a438243526023d942245d5195215a588b}

\begin{DoxyCompactList}\small\item\em Intrinsic direction of cluster at position\-: Theta. \end{DoxyCompactList}\item 
virtual float {\bf get\-I\-Phi} () const \label{classIMPL_1_1ClusterImpl_a092da3b8e01bf0c815987a5fbbcc2012}

\begin{DoxyCompactList}\small\item\em Intrinsic direction of cluster at position\-: Phi. \end{DoxyCompactList}\item 
virtual const {\bf E\-V\-E\-N\-T\-::\-Float\-Vec} \& {\bf get\-Direction\-Error} () const \label{classIMPL_1_1ClusterImpl_aa43fa60a15036a7a67b3ac8c1fc6f419}

\begin{DoxyCompactList}\small\item\em Covariance matrix of the direction (3 Parameters) \end{DoxyCompactList}\item 
virtual const {\bf E\-V\-E\-N\-T\-::\-Float\-Vec} \& {\bf get\-Shape} () const \label{classIMPL_1_1ClusterImpl_afa454392cc553622fb49c08fa5552147}

\begin{DoxyCompactList}\small\item\em Shape parameters -\/ check/set collection parameter Cluster\-Shape\-Parameters for size and names of parameters. \end{DoxyCompactList}\item 
virtual const \\*
{\bf E\-V\-E\-N\-T\-::\-Particle\-I\-D\-Vec} \& {\bf get\-Particle\-I\-Ds} () const 
\begin{DoxyCompactList}\small\item\em Type hypotheses\-: 3 Parameters\-: compatible with E\-M, H\-A\-D, muon cluster. \end{DoxyCompactList}\item 
virtual const {\bf E\-V\-E\-N\-T\-::\-Cluster\-Vec} \& {\bf get\-Clusters} () const \label{classIMPL_1_1ClusterImpl_adf954748df177b5eafe64b96a84ad331}

\begin{DoxyCompactList}\small\item\em The clusters that have been combined to this cluster. \end{DoxyCompactList}\item 
virtual const \\*
{\bf E\-V\-E\-N\-T\-::\-Calorimeter\-Hit\-Vec} \& {\bf get\-Calorimeter\-Hits} () const \label{classIMPL_1_1ClusterImpl_ab948080e526057c615910e4949bfd7c2}

\begin{DoxyCompactList}\small\item\em The hits that have been combined to this cluster. \end{DoxyCompactList}\item 
virtual const {\bf E\-V\-E\-N\-T\-::\-Float\-Vec} \& {\bf get\-Hit\-Contributions} () const \label{classIMPL_1_1ClusterImpl_a02271f81cbb714d7e48fb5d14e0c6016}

\begin{DoxyCompactList}\small\item\em Returns the energy contribution of the hits Runs parallel to the Calorimeter\-Hit\-Vec from \doxyref{get\-Calorimeter\-Hits()}{p.}{classIMPL_1_1ClusterImpl_ab948080e526057c615910e4949bfd7c2} \end{DoxyCompactList}\item 
virtual const {\bf E\-V\-E\-N\-T\-::\-Float\-Vec} \& {\bf get\-Subdetector\-Energies} () const 
\begin{DoxyCompactList}\small\item\em A vector that holds the energy observed in a particular subdetectors. \end{DoxyCompactList}\item 
void {\bfseries set\-Type\-Bit} (int index, bool val=true)\label{classIMPL_1_1ClusterImpl_a77f5f674c2fe92a34a2112ca0e3c0dfd}

\item 
void {\bfseries set\-Energy} (float energy)\label{classIMPL_1_1ClusterImpl_ae919a681fb4e7f832156249afb41159f}

\item 
void {\bfseries set\-Energy\-Error} (float energy\-Error)\label{classIMPL_1_1ClusterImpl_a33b0f0756274562ebbd301c08d5b8db0}

\item 
void {\bfseries set\-Position} (const float $\ast$position)\label{classIMPL_1_1ClusterImpl_a099e2697cb4d2921cdebb5dfcae108a9}

\item 
void {\bfseries set\-Position\-Error} (const {\bf E\-V\-E\-N\-T\-::\-Float\-Vec} \&errpos)\label{classIMPL_1_1ClusterImpl_a59a6c129bc5c02b3a91e412d168579ad}

\item 
void {\bfseries set\-Position\-Error} (const float $\ast$errpos)\label{classIMPL_1_1ClusterImpl_a65aea21954ef3ea516473cf74e157b0a}

\item 
void {\bfseries set\-I\-Theta} (float theta)\label{classIMPL_1_1ClusterImpl_af342e6573737a852637d222ec9bfdad2}

\item 
void {\bfseries set\-I\-Phi} (float phi)\label{classIMPL_1_1ClusterImpl_a51c9b039e6c31dafada7fd77400ad1ee}

\item 
void {\bfseries set\-Direction\-Error} (const {\bf E\-V\-E\-N\-T\-::\-Float\-Vec} \&errdir)\label{classIMPL_1_1ClusterImpl_a1fec1d5555c7864282c27ad5daae8b55}

\item 
void {\bfseries set\-Direction\-Error} (const float $\ast$errdir)\label{classIMPL_1_1ClusterImpl_ad714b6adf7af4797980eb7f5ce1fa456}

\item 
void {\bfseries set\-Shape} (const {\bf E\-V\-E\-N\-T\-::\-Float\-Vec} \&shape)\label{classIMPL_1_1ClusterImpl_a7167afa0693bbbf8f30887a94e8ba5fd}

\item 
void {\bfseries add\-Particle\-I\-D} ({\bf E\-V\-E\-N\-T\-::\-Particle\-I\-D} $\ast$pid)\label{classIMPL_1_1ClusterImpl_a419073e928859023f3fabda7060dc7f8}

\item 
void {\bfseries add\-Cluster} ({\bf E\-V\-E\-N\-T\-::\-Cluster} $\ast$cluster)\label{classIMPL_1_1ClusterImpl_a6f6024623933a4dc048b069d2b1a2bc4}

\item 
void {\bfseries add\-Hit} ({\bf E\-V\-E\-N\-T\-::\-Calorimeter\-Hit} $\ast$hit, float contribution)\label{classIMPL_1_1ClusterImpl_a2b5e224aabd57196ec55acd1471a6850}

\item 
{\bf E\-V\-E\-N\-T\-::\-Float\-Vec} \& {\bf subdetector\-Energies} ()
\begin{DoxyCompactList}\small\item\em To be used for modifying the subdetector energies, e.\-g. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
void {\bfseries set\-Type} (int type)\label{classIMPL_1_1ClusterImpl_ae9d12f69ae7f6fd1905408b2111b8899}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
std\-::bitset$<$ 32 $>$ {\bfseries \-\_\-type}\label{classIMPL_1_1ClusterImpl_a5a00a876cbc2ed8fe6c3aaf1e7d0fb14}

\item 
float {\bfseries \-\_\-energy}\label{classIMPL_1_1ClusterImpl_a14c4c467220bf25276863eaa01bfbd20}

\item 
float {\bfseries \-\_\-energy\-Error}\label{classIMPL_1_1ClusterImpl_a0801c830d0f5ab52514937ca0007460c}

\item 
float {\bfseries \-\_\-position} [3]\label{classIMPL_1_1ClusterImpl_af5fccd9ddd21c98eb8b4eabc48363c13}

\item 
{\bf E\-V\-E\-N\-T\-::\-Float\-Vec} {\bfseries \-\_\-errpos}\label{classIMPL_1_1ClusterImpl_aee8ca19f34307bd6b5f181d7eddc9950}

\item 
float {\bfseries \-\_\-theta}\label{classIMPL_1_1ClusterImpl_ab877a5f2bb3f1b7a4ee9fec873c1a9e6}

\item 
float {\bfseries \-\_\-phi}\label{classIMPL_1_1ClusterImpl_ac30e5cdd8e2ec36da4c9770c52f9d74d}

\item 
{\bf E\-V\-E\-N\-T\-::\-Float\-Vec} {\bfseries \-\_\-errdir}\label{classIMPL_1_1ClusterImpl_a6fb024abd8a3f0ae454d10717432af55}

\item 
{\bf E\-V\-E\-N\-T\-::\-Float\-Vec} {\bfseries \-\_\-shape}\label{classIMPL_1_1ClusterImpl_ae440dd5263fac90991d3176b3809d3fc}

\item 
{\bf E\-V\-E\-N\-T\-::\-Particle\-I\-D\-Vec} {\bfseries \-\_\-pid}\label{classIMPL_1_1ClusterImpl_afd5ca016a36bd689459e5f15bc071b4d}

\item 
{\bf E\-V\-E\-N\-T\-::\-Cluster\-Vec} {\bfseries \-\_\-clusters}\label{classIMPL_1_1ClusterImpl_a83db90960cb8ff269da8e983686cc521}

\item 
{\bf E\-V\-E\-N\-T\-::\-Calorimeter\-Hit\-Vec} {\bfseries \-\_\-hits}\label{classIMPL_1_1ClusterImpl_a885cba933be1720a2c2387eda43c33db}

\item 
{\bf E\-V\-E\-N\-T\-::\-Float\-Vec} {\bfseries \-\_\-weights}\label{classIMPL_1_1ClusterImpl_a1bcc383aac207f0c4f2d94d6a71bb5da}

\item 
{\bf E\-V\-E\-N\-T\-::\-Float\-Vec} {\bfseries \-\_\-subdetector\-Energies}\label{classIMPL_1_1ClusterImpl_abdfa948642474370695c77a29caf33bf}

\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
Implementation of Cluster. 

\begin{DoxySeeAlso}{See Also}
Cluster 
\end{DoxySeeAlso}
\begin{DoxyAuthor}{Author}
gaede 
\end{DoxyAuthor}
\begin{DoxyVersion}{Version}

\end{DoxyVersion}
\begin{DoxyParagraph}{Id\-:}
\doxyref{Cluster\-Impl.\-h}{p.}{ClusterImpl_8h_source},v 1.\-13 2006-\/08-\/04 16\-:52\-:46 gaede Exp 
\end{DoxyParagraph}


\subsection{Member Function Documentation}
\index{I\-M\-P\-L\-::\-Cluster\-Impl@{I\-M\-P\-L\-::\-Cluster\-Impl}!get\-Particle\-I\-Ds@{get\-Particle\-I\-Ds}}
\index{get\-Particle\-I\-Ds@{get\-Particle\-I\-Ds}!IMPL::ClusterImpl@{I\-M\-P\-L\-::\-Cluster\-Impl}}
\subsubsection[{get\-Particle\-I\-Ds}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf E\-V\-E\-N\-T\-::\-Particle\-I\-D\-Vec} \& I\-M\-P\-L\-::\-Cluster\-Impl\-::get\-Particle\-I\-Ds (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}\label{classIMPL_1_1ClusterImpl_a09d908fa61c70b89129317f86ab397eb}


Type hypotheses\-: 3 Parameters\-: compatible with E\-M, H\-A\-D, muon cluster. 

The particle Id's sorted by their probability. \begin{DoxySeeAlso}{See Also}
Particle\-I\-D 
\end{DoxySeeAlso}


Implements {\bf E\-V\-E\-N\-T\-::\-Cluster} \doxyref{}{p.}{classEVENT_1_1Cluster_a1cd0195c77ee14d6cecd1b786d93c3d1}.

\index{I\-M\-P\-L\-::\-Cluster\-Impl@{I\-M\-P\-L\-::\-Cluster\-Impl}!get\-Subdetector\-Energies@{get\-Subdetector\-Energies}}
\index{get\-Subdetector\-Energies@{get\-Subdetector\-Energies}!IMPL::ClusterImpl@{I\-M\-P\-L\-::\-Cluster\-Impl}}
\subsubsection[{get\-Subdetector\-Energies}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf E\-V\-E\-N\-T\-::\-Float\-Vec} \& I\-M\-P\-L\-::\-Cluster\-Impl\-::get\-Subdetector\-Energies (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}\label{classIMPL_1_1ClusterImpl_a18582dfe5f467ad930f09b8d6cfb2ddd}


A vector that holds the energy observed in a particular subdetectors. 

The mapping of indices to subdetectors is implementation dependent. To be used as convenient information or if hits are not stored in the data set, e.\-g. D\-S\-T or Fast\-M\-C. Check/set collection parameter Cluster\-Subdetector\-Names for decoding the indices of the array. 

Implements {\bf E\-V\-E\-N\-T\-::\-Cluster} \doxyref{}{p.}{classEVENT_1_1Cluster_ab364d5a12275e6e9d15863ddb647ef13}.

\index{I\-M\-P\-L\-::\-Cluster\-Impl@{I\-M\-P\-L\-::\-Cluster\-Impl}!get\-Type@{get\-Type}}
\index{get\-Type@{get\-Type}!IMPL::ClusterImpl@{I\-M\-P\-L\-::\-Cluster\-Impl}}
\subsubsection[{get\-Type}]{\setlength{\rightskip}{0pt plus 5cm}int I\-M\-P\-L\-::\-Cluster\-Impl\-::get\-Type (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}\label{classIMPL_1_1ClusterImpl_aaa0fd2675b75271fb1e0334f332c9249}


Flagword that defines the type of cluster. 

Bits 0-\/15 can be used to denote the subdetectors that have contributed hits to the cluster. The definition of the bits has to be done elsewhere, e.\-g. in the run header. Bits 16-\/31 are used internally. 

Implements {\bf E\-V\-E\-N\-T\-::\-Cluster} \doxyref{}{p.}{classEVENT_1_1Cluster_a862f193ac7e2908be7cf2d9fb32240dd}.

\index{I\-M\-P\-L\-::\-Cluster\-Impl@{I\-M\-P\-L\-::\-Cluster\-Impl}!subdetector\-Energies@{subdetector\-Energies}}
\index{subdetector\-Energies@{subdetector\-Energies}!IMPL::ClusterImpl@{I\-M\-P\-L\-::\-Cluster\-Impl}}
\subsubsection[{subdetector\-Energies}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\-V\-E\-N\-T\-::\-Float\-Vec} \& I\-M\-P\-L\-::\-Cluster\-Impl\-::subdetector\-Energies (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}\label{classIMPL_1_1ClusterImpl_adf7c0ddf49fbdf631a28a7ec9f891fb8}


To be used for modifying the subdetector energies, e.\-g. 

\par
 clu-\/$>$\doxyref{subdetector\-Energies()}{p.}{classIMPL_1_1ClusterImpl_adf7c0ddf49fbdf631a28a7ec9f891fb8}.resize(3) ; clu-\/$>$\doxyref{subdetector\-Energies()}{p.}{classIMPL_1_1ClusterImpl_adf7c0ddf49fbdf631a28a7ec9f891fb8}[0] = 123.\-4567 ; clu-\/$>$\doxyref{subdetector\-Energies()}{p.}{classIMPL_1_1ClusterImpl_adf7c0ddf49fbdf631a28a7ec9f891fb8}[1] = 12.\-34567 ; clu-\/$>$\doxyref{subdetector\-Energies()}{p.}{classIMPL_1_1ClusterImpl_adf7c0ddf49fbdf631a28a7ec9f891fb8}[2] = 1.\-234567 ; 

The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
Cluster\-Impl.\-h\item 
Cluster\-Impl.\-cc\end{DoxyCompactItemize}
