\section{lcio\-:\-:L\-C\-Object\-Copier Class Reference}
\label{classlcio_1_1LCObjectCopier}\index{lcio\-::\-L\-C\-Object\-Copier@{lcio\-::\-L\-C\-Object\-Copier}}


\doxyref{L\-C\-Object\-Copier}{p.}{classlcio_1_1LCObjectCopier} is a helper class which gives a copy of a class without the read\-Only flag set, which is the case if you copy a object from a file using the copy constructor.  




{\ttfamily \#include $<$L\-C\-Object\-Copier.\-h$>$}

\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static I\-M\-P\-L\-::\-Tracker\-Hit\-Impl $\ast$ {\bf copy} (const E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$const in\-Hit)
\begin{DoxyCompactList}\small\item\em Copy function for the Tracker\-Hit. \end{DoxyCompactList}\item 
static I\-M\-P\-L\-::\-Tracker\-Pulse\-Impl $\ast$ {\bf copy} (const E\-V\-E\-N\-T\-::\-Tracker\-Pulse $\ast$const in\-Pulse)
\begin{DoxyCompactList}\small\item\em Copy function for the Tracker\-Pulse. \end{DoxyCompactList}\item 
static I\-M\-P\-L\-::\-Track\-Impl $\ast$ {\bf copy} (const E\-V\-E\-N\-T\-::\-Track $\ast$const track)
\begin{DoxyCompactList}\small\item\em Copy function for the Track. \end{DoxyCompactList}\item 
static I\-M\-P\-L\-::\-Track\-Impl $\ast$ {\bf copy\-Track\-Without\-Hits} (const E\-V\-E\-N\-T\-::\-Track $\ast$const track)\label{classlcio_1_1LCObjectCopier_a7f72224c495a5bc7ce40df67743d156b}

\begin{DoxyCompactList}\small\item\em Copy function for the Tracker without the hits (hits cannot be removed from a track, so this is useful to preserve the track parameters). \end{DoxyCompactList}\item 
static I\-M\-P\-L\-::\-Tracker\-Data\-Impl $\ast$ {\bf copy} (const E\-V\-E\-N\-T\-::\-Tracker\-Data $\ast$const in\-Data)\label{classlcio_1_1LCObjectCopier_a1e77cde98e176a86bab9185a6cde1d5b}

\begin{DoxyCompactList}\small\item\em Copy function for the Tracker\-Data. \end{DoxyCompactList}\item 
static I\-M\-P\-L\-::\-Tracker\-Raw\-Data\-Impl $\ast$ {\bf copy} (const E\-V\-E\-N\-T\-::\-Tracker\-Raw\-Data $\ast$const in\-Raw\-Data)\label{classlcio_1_1LCObjectCopier_a4eceddc025918029959ae4927cc7b714}

\begin{DoxyCompactList}\small\item\em Copy function for the Tracker\-Raw\-Data. \end{DoxyCompactList}\item 
static I\-M\-P\-L\-::\-M\-C\-Particle\-Impl $\ast$ {\bf copy} (const E\-V\-E\-N\-T\-::\-M\-C\-Particle $\ast$const in\-Particle)\label{classlcio_1_1LCObjectCopier_a812cdd794245008a0f49deb8a01e61b9}

\begin{DoxyCompactList}\small\item\em Copy function for the M\-C\-Particle. \end{DoxyCompactList}\item 
static I\-M\-P\-L\-::\-Sim\-Tracker\-Hit\-Impl $\ast$ {\bf copy} (const E\-V\-E\-N\-T\-::\-Sim\-Tracker\-Hit $\ast$const in\-Hit)\label{classlcio_1_1LCObjectCopier_aabd6bbec6d35c86df17df7fcaca69349}

\begin{DoxyCompactList}\small\item\em Copy function for Sim\-Tracker\-Hit. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\doxyref{L\-C\-Object\-Copier}{p.}{classlcio_1_1LCObjectCopier} is a helper class which gives a copy of a class without the read\-Only flag set, which is the case if you copy a object from a file using the copy constructor. 

It always returns an I\-M\-P\-L of the class, as the abstract E\-V\-E\-N\-T classes cannot be instantiated. But you want an I\-M\-P\-L anyhow since you want to modify it. Otherwise you would not care about read\-Only and thus not need this class at all.\par
 A\-T\-T\-E\-N\-T\-I\-O\-N\-: \begin{DoxyItemize}
\item Has to be implemented for each class that has to be copied! \item If a class is extended, the code has to be adapted! Otherwise only part of the data is copied.\par
 You chould state the L\-C\-I\-O version for each class.\end{DoxyItemize}
To implement for a new lcio-\/class, just overload the static clone() function. 

\subsection{Member Function Documentation}
\index{lcio\-::\-L\-C\-Object\-Copier@{lcio\-::\-L\-C\-Object\-Copier}!copy@{copy}}
\index{copy@{copy}!lcio::LCObjectCopier@{lcio\-::\-L\-C\-Object\-Copier}}
\subsubsection[{copy}]{\setlength{\rightskip}{0pt plus 5cm}I\-M\-P\-L\-::\-Tracker\-Hit\-Impl $\ast$ lcio\-::\-L\-C\-Object\-Copier\-::copy (
\begin{DoxyParamCaption}
\item[{const E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$const}]{in\-Hit}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}\label{classlcio_1_1LCObjectCopier_adc3c5135554575be0f7859fd93889f33}


Copy function for the Tracker\-Hit. 

L\-C\-I\-O v02-\/x\par
 deprecated before it flies... 

Referenced by marlintpc\-::\-Track\-Fitter\-Simple\-Helix\-::fit\-Track(), marlintpc\-::\-Track\-Fitter\-Linear\-Regression\-::fit\-Track(), marlintpc\-::\-Gain\-Corrector\-Processor\-::process\-Event(), and marlintpc\-::\-Time\-Shift\-Corrector\-Processor\-::process\-Event().

\index{lcio\-::\-L\-C\-Object\-Copier@{lcio\-::\-L\-C\-Object\-Copier}!copy@{copy}}
\index{copy@{copy}!lcio::LCObjectCopier@{lcio\-::\-L\-C\-Object\-Copier}}
\subsubsection[{copy}]{\setlength{\rightskip}{0pt plus 5cm}I\-M\-P\-L\-::\-Tracker\-Pulse\-Impl $\ast$ lcio\-::\-L\-C\-Object\-Copier\-::copy (
\begin{DoxyParamCaption}
\item[{const E\-V\-E\-N\-T\-::\-Tracker\-Pulse $\ast$const}]{in\-Pulse}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}\label{classlcio_1_1LCObjectCopier_a59f71639ec106d946cc6b2aca4ac84c7}


Copy function for the Tracker\-Pulse. 

L\-C\-I\-O v01-\/08\par
 Attention, does only copy the pointer of Tracker\-Data This is no clone/ deep copy function. \index{lcio\-::\-L\-C\-Object\-Copier@{lcio\-::\-L\-C\-Object\-Copier}!copy@{copy}}
\index{copy@{copy}!lcio::LCObjectCopier@{lcio\-::\-L\-C\-Object\-Copier}}
\subsubsection[{copy}]{\setlength{\rightskip}{0pt plus 5cm}I\-M\-P\-L\-::\-Track\-Impl $\ast$ lcio\-::\-L\-C\-Object\-Copier\-::copy (
\begin{DoxyParamCaption}
\item[{const E\-V\-E\-N\-T\-::\-Track $\ast$const}]{track}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}\label{classlcio_1_1LCObjectCopier_ac134298217358d05d9f76d9682e267e2}


Copy function for the Track. 

L\-C\-I\-O v01-\/11\par
 The tracker hits are alway a subcollection, so it's save to just copy the pointers. 

References copy\-Track\-Without\-Hits().



The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
L\-C\-Object\-Copier.\-h\item 
L\-C\-Object\-Copier.\-cc\end{DoxyCompactItemize}
