\section{U\-T\-I\-L\-:\-:L\-C\-Four\-Vector$<$ T\-T $>$ Class Template Reference}
\label{classUTIL_1_1LCFourVector}\index{U\-T\-I\-L\-::\-L\-C\-Four\-Vector$<$ T\-T $>$@{U\-T\-I\-L\-::\-L\-C\-Four\-Vector$<$ T\-T $>$}}


Four vector used in L\-C\-I\-O.  




{\ttfamily \#include $<$U\-T\-I\-L/\-L\-C\-Four\-Vector.\-h$>$}

Inheritance diagram for U\-T\-I\-L\-:\-:L\-C\-Four\-Vector$<$ T\-T $>$\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classUTIL_1_1LCFourVector}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\bf L\-C\-Four\-Vector} (const T\-T $\ast${\bf lc\-Obj})
\begin{DoxyCompactList}\small\item\em Constructor for templated type,e.\-g. \end{DoxyCompactList}\item 
{\bf L\-C\-Four\-Vector} (const {\bf E\-V\-E\-N\-T\-::\-L\-C\-Object} $\ast${\bf lc\-Obj})
\begin{DoxyCompactList}\small\item\em Constructor for L\-C\-Object. \end{DoxyCompactList}\item 
const T\-T $\ast$ {\bf operator-\/$>$} () const 
\begin{DoxyCompactList}\small\item\em Instances of \doxyref{L\-C\-Four\-Vector}{p.}{classUTIL_1_1LCFourVector} serve as a handle to the templated type. \end{DoxyCompactList}\item 
const T\-T $\ast$ {\bf lc\-Obj} () const 
\begin{DoxyCompactList}\small\item\em Pointer to the L\-C\-Object that has been used to create the four vector. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
const T\-T $\ast$ {\bfseries \-\_\-lc\-Obj}\label{classUTIL_1_1LCFourVector_a6db090125c92b53b84fab6cd4ad9cc16}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$class T\-T$>$class U\-T\-I\-L\-::\-L\-C\-Four\-Vector$<$ T\-T $>$}

Four vector used in L\-C\-I\-O. 

The cpp implementation is a C\-L\-H\-E\-P\-::\-Hep\-Lorentz\-Vector. Instances of this class can be used as C\-L\-H\-E\-P\-::\-Hep\-Lorentz\-Vector A\-N\-D pointers to the corresponding L\-C\-I\-O class.

Currently available are\-:\par

\begin{DoxyItemize}
\item L\-C\-Four\-Vector$<$\-M\-C\-Particle$>$/\-M\-C\-Particle4\-V\par

\item L\-C\-Four\-Vector$<$\-Reconstructed\-Particle$>$/\-Reconstructed\-Particle4\-V\par

\end{DoxyItemize}

\begin{DoxyAuthor}{Author}
gaede 
\end{DoxyAuthor}
\begin{DoxyVersion}{Version}
Mar 12, 2004 
\end{DoxyVersion}


\subsection{Constructor \& Destructor Documentation}
\index{U\-T\-I\-L\-::\-L\-C\-Four\-Vector@{U\-T\-I\-L\-::\-L\-C\-Four\-Vector}!L\-C\-Four\-Vector@{L\-C\-Four\-Vector}}
\index{L\-C\-Four\-Vector@{L\-C\-Four\-Vector}!UTIL::LCFourVector@{U\-T\-I\-L\-::\-L\-C\-Four\-Vector}}
\subsubsection[{L\-C\-Four\-Vector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T\-T$>$ {\bf U\-T\-I\-L\-::\-L\-C\-Four\-Vector}$<$ T\-T $>$\-::{\bf L\-C\-Four\-Vector} (
\begin{DoxyParamCaption}
\item[{const T\-T $\ast$}]{lc\-Obj}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\label{classUTIL_1_1LCFourVector_ab73a7ccd6cdcd6540264bfcdf296c84d}


Constructor for templated type,e.\-g. 

L\-C\-Four\-Vector$<$\-M\-C\-Particle$>$( my\-M\-C\-Particle ). \index{U\-T\-I\-L\-::\-L\-C\-Four\-Vector@{U\-T\-I\-L\-::\-L\-C\-Four\-Vector}!L\-C\-Four\-Vector@{L\-C\-Four\-Vector}}
\index{L\-C\-Four\-Vector@{L\-C\-Four\-Vector}!UTIL::LCFourVector@{U\-T\-I\-L\-::\-L\-C\-Four\-Vector}}
\subsubsection[{L\-C\-Four\-Vector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T\-T$>$ {\bf U\-T\-I\-L\-::\-L\-C\-Four\-Vector}$<$ T\-T $>$\-::{\bf L\-C\-Four\-Vector} (
\begin{DoxyParamCaption}
\item[{const {\bf E\-V\-E\-N\-T\-::\-L\-C\-Object} $\ast$}]{lc\-Obj}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\label{classUTIL_1_1LCFourVector_a656281507ca9475c35272629b0b6eb0f}


Constructor for L\-C\-Object. 

Can be used to save the dynamic\-\_\-cast to the explicit type from an L\-C\-Collection element, e.\-g. L\-C\-Four\-Vector$<$\-M\-C\-Particle$>$( col-\/$>$get\-Element(i) ). 

\subsection{Member Function Documentation}
\index{U\-T\-I\-L\-::\-L\-C\-Four\-Vector@{U\-T\-I\-L\-::\-L\-C\-Four\-Vector}!lc\-Obj@{lc\-Obj}}
\index{lc\-Obj@{lc\-Obj}!UTIL::LCFourVector@{U\-T\-I\-L\-::\-L\-C\-Four\-Vector}}
\subsubsection[{lc\-Obj}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T\-T$>$ const T\-T$\ast$ {\bf U\-T\-I\-L\-::\-L\-C\-Four\-Vector}$<$ T\-T $>$\-::lc\-Obj (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{classUTIL_1_1LCFourVector_a2bc4d879b02c7ee18cc2e702f2cd42d1}


Pointer to the L\-C\-Object that has been used to create the four vector. 

To be used when the object is needed as a function argument or optionally to call methods of the object, e.\-g. particle4\-V.\-lc\-Obj()-\/$>$get\-Momentum() ; \index{U\-T\-I\-L\-::\-L\-C\-Four\-Vector@{U\-T\-I\-L\-::\-L\-C\-Four\-Vector}!operator-\/$>$@{operator-\/$>$}}
\index{operator-\/$>$@{operator-\/$>$}!UTIL::LCFourVector@{U\-T\-I\-L\-::\-L\-C\-Four\-Vector}}
\subsubsection[{operator-\/$>$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T\-T$>$ const T\-T$\ast$ {\bf U\-T\-I\-L\-::\-L\-C\-Four\-Vector}$<$ T\-T $>$\-::operator-\/$>$ (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{classUTIL_1_1LCFourVector_aa88cb5e02d29fb8415144c5ab75ec1ed}


Instances of \doxyref{L\-C\-Four\-Vector}{p.}{classUTIL_1_1LCFourVector} serve as a handle to the templated type. 

Methods of the original type, e.\-g. M\-C\-Particle can be accessed via the '-\/$>$' operator. Methods of the four vector implementation (Hep\-Lorentzvector) are accessed via the '.' operator.\par
 For Example\-:\par
 L\-C\-Four\-Vector$<$\-M\-C\-Particle$>$ particle4\-V( col-\/$>$get\-Element\-At(i) ) \par
 particle4\-V-\/$>$get\-Momentum() // L\-C\-I\-O object \par
 particle4\-V.\-m() // mass from Hep\-Lorentz\-Vector \par
 

The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
L\-C\-Four\-Vector.\-h\end{DoxyCompactItemize}
