<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\section{marlintpc\-:\-:Raw\-Data\-Cutter\-Processor Class Reference}
\label{classmarlintpc_1_1RawDataCutterProcessor}\index{marlintpc\-::\-Raw\-Data\-Cutter\-Processor@{marlintpc\-::\-Raw\-Data\-Cutter\-Processor}}


This processor is used to select in the raw data only a part of the time spectrum, in fact shortening the time window of the data acquired.  




{\ttfamily \#include $&lt;$Raw\-Data\-Cutter\-Processor.\-h$&gt;$}

Inheritance diagram for marlintpc\-:\-:Raw\-Data\-Cutter\-Processor\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classmarlintpc_1_1RawDataCutterProcessor}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual Processor $\ast$ {\bfseries new\-Processor} ()\label{classmarlintpc_1_1RawDataCutterProcessor_a7827866ad6634a5f8d09b3dbed2ebd4c}

\item 
virtual void {\bf init} ()
\begin{DoxyCompactList}\small\item\em Called at the begin of the job before anything is read. \end{DoxyCompactList}\item 
virtual void {\bf process\-Run\-Header} (lcio\-::\-L\-C\-Run\-Header $\ast$run)\label{classmarlintpc_1_1RawDataCutterProcessor_a833df49e24eccc17fee367f3a6f49f6b}

\begin{DoxyCompactList}\small\item\em Called for every run. \end{DoxyCompactList}\item 
virtual void {\bf process\-Event} (lcio\-::\-L\-C\-Event $\ast$evt)\label{classmarlintpc_1_1RawDataCutterProcessor_a7dd8ed8f35befcf11cacc92efb8d71b3}

\begin{DoxyCompactList}\small\item\em Called for every event -\/ the working horse. \end{DoxyCompactList}\item 
virtual void {\bfseries check} (lcio\-::\-L\-C\-Event $\ast$evt)\label{classmarlintpc_1_1RawDataCutterProcessor_aabdf91f4cf27aefd155d3405664f0606}

\item 
virtual void {\bf end} ()\label{classmarlintpc_1_1RawDataCutterProcessor_a429ace229065c5b422e9592124c28e81}

\begin{DoxyCompactList}\small\item\em Called after data processing for clean up. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
std\-::string {\bf \-\_\-inputcol\-Name}\label{classmarlintpc_1_1RawDataCutterProcessor_a41cee4836957c4fef6a017c45613023f}

\begin{DoxyCompactList}\small\item\em Input collection name. \end{DoxyCompactList}\item 
std\-::string {\bf \-\_\-outcol\-Name}\label{classmarlintpc_1_1RawDataCutterProcessor_aaf3407b72c448bdfe506db269b5a6436}

\begin{DoxyCompactList}\small\item\em Output collection name. \end{DoxyCompactList}\item 
bool {\bf \-\_\-output\-Is\-Persistent}\label{classmarlintpc_1_1RawDataCutterProcessor_a5ccd100fe52fb15a98ca393640bcea53}

\begin{DoxyCompactList}\small\item\em Set the persistency flag of the output collection. \end{DoxyCompactList}\item 
int {\bf \-\_\-max\-Time\-Bin}
\begin{DoxyCompactList}\small\item\em Maximum time value allowed in the tracker raw data. \end{DoxyCompactList}\item 
int {\bf \-\_\-start\-Offset}
\begin{DoxyCompactList}\small\item\em Number of time bins at the start of the collection window which would correspond to data collected at negative drift lengths. \end{DoxyCompactList}\item 
float {\bf \-\_\-drift\-Velocity}\label{classmarlintpc_1_1RawDataCutterProcessor_ae03bee8ad8fb8a925a7b5e0e0a400e7d}

\begin{DoxyCompactList}\small\item\em Electron drift velocity (mm/us) used to compute the maximum time necessary to drift through the T\-P\-C. \end{DoxyCompactList}\item 
float {\bf \-\_\-drift\-Length}
\begin{DoxyCompactList}\small\item\em Maximum T\-P\-C drift length (mm). \end{DoxyCompactList}\item 
float {\bf \-\_\-readout\-Freq}\label{classmarlintpc_1_1RawDataCutterProcessor_a5b6e785d0f861b410ffcf58293b82ef5}

\begin{DoxyCompactList}\small\item\em Readout frequency of the electronics (M\-Hz) \end{DoxyCompactList}\item 
int {\bf \-\_\-end\-Offset}\label{classmarlintpc_1_1RawDataCutterProcessor_a2593b0024d521f5e94a6ef138008767d}

\begin{DoxyCompactList}\small\item\em Safety Offset to be added at the Maximum drift time calculated. \end{DoxyCompactList}\item 
std\-::string {\bf \-\_\-\-T\-P\-C\-Conditions\-Coll\-Name}
\begin{DoxyCompactList}\small\item\em Name of the collection containing the T\-P\-C Conditions i.\-e. \end{DoxyCompactList}\item 
std\-::string {\bf \-\_\-\-A\-D\-C\-Electronics\-Coll\-Name}
\begin{DoxyCompactList}\small\item\em Name of the collection containing the Generic\-A\-D\-C\-Electronics\-Parameters i.\-e. \end{DoxyCompactList}\item 
bool {\bf \-\_\-shorten\-Pulse}\label{classmarlintpc_1_1RawDataCutterProcessor_a2eca3354b00d944f86df7909451ec322}

\begin{DoxyCompactList}\small\item\em Boolean selector that specifies whether to shorten the pulses started before the filter time but continuing afterwards. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
This processor is used to select in the raw data only a part of the time spectrum, in fact shortening the time window of the data acquired. 

This processor cuts all the data arriving later than the maximum drift time to clean up the raw data before the main processing phase.

The user can set the length of this time window manually specifying the maximum number of time bins allowed, or this value can be calculated from the condition data

\subparagraph*{Input -\/ Prerequisites}

Needs the collection of Tracker\-Raw\-Data

\subparagraph*{Output}

Collection of Tracker\-Raw\-Data


\begin{DoxyParams}{Parameters}
{\em Input\-Collection\-Name\-:string} &amp; Name of the input tracker raw data collection \\
\hline
{\em Output\-Collection\-Name\-:string} &amp; Name of the collection where to store the corrected data \\
\hline
{\em Write\-Output\-To\-Storage\-:bool} &amp; If true the output collection is written to file \\
\hline
{\em Max\-Time\-Bin\-Override\-:int} &amp; Set this parameter if you want to define manually the maximum time bin length. No calculation will be executed \\
\hline
{\em Start\-Offset\-:int} &amp; Defines the time bin of the anode position \\
\hline
{\em Drift\-Velocity\-Override\-:float} &amp; Defines the drift velocity in mm/us. If set the data in the condition database will not be considered \\
\hline
{\em Drift\-Length\-Override\-:float} &amp; Defines the maximum drift length in mm of the T\-P\-C. If set the data in the G\-E\-A\-R file will not be considered \\
\hline
{\em Readout\-Frequency\-Override\-:float} &amp; Defines the electronics readout frequency in M\-Hz. If set the data in the condition database will not be considered \\
\hline
{\em End\-Offset\-:int} &amp; Defines the time bin to add to the calculated maximum as a safety factor \\
\hline
{\em T\-P\-C\-Conditions\-Coll\-Name\-:string} &amp; Defines the name of the condition collection containing the drift velocity \\
\hline
{\em A\-D\-C\-Electronics\-Coll\-Name\-:string} &amp; Defines the name of the condition collection containing the readout frequency\\
\hline
\end{DoxyParams}
\begin{DoxyAuthor}{Author}
S. Caiazza, D\-E\-S\-Y 
\end{DoxyAuthor}
\begin{DoxyVersion}{Version}

\end{DoxyVersion}
\begin{DoxyParagraph}{Id\-:}
\doxyref{Raw\-Data\-Cutter\-Processor.\-h}{p.}{RawDataCutterProcessor_8h_source},v 1.\-0 2011-\/10-\/13 12\-:57\-:39 caiazza Exp 
\end{DoxyParagraph}


\subsection{Member Function Documentation}
\index{marlintpc\-::\-Raw\-Data\-Cutter\-Processor@{marlintpc\-::\-Raw\-Data\-Cutter\-Processor}!init@{init}}
\index{init@{init}!marlintpc::RawDataCutterProcessor@{marlintpc\-::\-Raw\-Data\-Cutter\-Processor}}
\subsubsection[{init}]{\setlength{\rightskip}{0pt plus 5cm}void marlintpc\-::\-Raw\-Data\-Cutter\-Processor\-::init (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classmarlintpc_1_1RawDataCutterProcessor_aefe73f422da39e9223ff46f968ffaadd}


Called at the begin of the job before anything is read. 

Use to initialize the processor, e.\-g. book histograms. 

References \-\_\-\-A\-D\-C\-Electronics\-Coll\-Name, \-\_\-drift\-Length, \-\_\-drift\-Velocity, \-\_\-end\-Offset, \-\_\-max\-Time\-Bin, \-\_\-readout\-Freq, \-\_\-start\-Offset, \-\_\-\-T\-P\-C\-Conditions\-Coll\-Name, and marlintpc\-::\-A\-D\-C\-Electronics\-Listener\-::use\-Last\-Valid\-If\-No\-Data\-Available().



\subsection{Member Data Documentation}
\index{marlintpc\-::\-Raw\-Data\-Cutter\-Processor@{marlintpc\-::\-Raw\-Data\-Cutter\-Processor}!\-\_\-\-A\-D\-C\-Electronics\-Coll\-Name@{\-\_\-\-A\-D\-C\-Electronics\-Coll\-Name}}
\index{\-\_\-\-A\-D\-C\-Electronics\-Coll\-Name@{\-\_\-\-A\-D\-C\-Electronics\-Coll\-Name}!marlintpc::RawDataCutterProcessor@{marlintpc\-::\-Raw\-Data\-Cutter\-Processor}}
\subsubsection[{\-\_\-\-A\-D\-C\-Electronics\-Coll\-Name}]{\setlength{\rightskip}{0pt plus 5cm}std\-::string marlintpc\-::\-Raw\-Data\-Cutter\-Processor\-::\-\_\-\-A\-D\-C\-Electronics\-Coll\-Name\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1RawDataCutterProcessor_a614b409412491fe826e8ae93340defe9}


Name of the collection containing the Generic\-A\-D\-C\-Electronics\-Parameters i.\-e. 

readout frequency 

Referenced by init().

\index{marlintpc\-::\-Raw\-Data\-Cutter\-Processor@{marlintpc\-::\-Raw\-Data\-Cutter\-Processor}!\-\_\-drift\-Length@{\-\_\-drift\-Length}}
\index{\-\_\-drift\-Length@{\-\_\-drift\-Length}!marlintpc::RawDataCutterProcessor@{marlintpc\-::\-Raw\-Data\-Cutter\-Processor}}
\subsubsection[{\-\_\-drift\-Length}]{\setlength{\rightskip}{0pt plus 5cm}float marlintpc\-::\-Raw\-Data\-Cutter\-Processor\-::\-\_\-drift\-Length\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1RawDataCutterProcessor_a6438357543b3950c3659fa28ba1d42ef}


Maximum T\-P\-C drift length (mm). 

The length of the T\-P\-C used to calculate the maximum drift time 

Referenced by init(), and process\-Event().

\index{marlintpc\-::\-Raw\-Data\-Cutter\-Processor@{marlintpc\-::\-Raw\-Data\-Cutter\-Processor}!\-\_\-max\-Time\-Bin@{\-\_\-max\-Time\-Bin}}
\index{\-\_\-max\-Time\-Bin@{\-\_\-max\-Time\-Bin}!marlintpc::RawDataCutterProcessor@{marlintpc\-::\-Raw\-Data\-Cutter\-Processor}}
\subsubsection[{\-\_\-max\-Time\-Bin}]{\setlength{\rightskip}{0pt plus 5cm}int marlintpc\-::\-Raw\-Data\-Cutter\-Processor\-::\-\_\-max\-Time\-Bin\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1RawDataCutterProcessor_aa8766e338af40afde9407aaf927e9f61}


Maximum time value allowed in the tracker raw data. 

The processor will cut all data after this value 

Referenced by init(), and process\-Event().

\index{marlintpc\-::\-Raw\-Data\-Cutter\-Processor@{marlintpc\-::\-Raw\-Data\-Cutter\-Processor}!\-\_\-start\-Offset@{\-\_\-start\-Offset}}
\index{\-\_\-start\-Offset@{\-\_\-start\-Offset}!marlintpc::RawDataCutterProcessor@{marlintpc\-::\-Raw\-Data\-Cutter\-Processor}}
\subsubsection[{\-\_\-start\-Offset}]{\setlength{\rightskip}{0pt plus 5cm}int marlintpc\-::\-Raw\-Data\-Cutter\-Processor\-::\-\_\-start\-Offset\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1RawDataCutterProcessor_aa5d75672689d652f9556e3037cabb1b3}


Number of time bins at the start of the collection window which would correspond to data collected at negative drift lengths. 

I.\-e. The D\-A\-Q could store some time bin before the trigger comes or the delays of the D\-A\-Q could be set in such a way that the electrons produced at the anode of the T\-P\-C are not at time bin 0. 

Referenced by init(), and process\-Event().

\index{marlintpc\-::\-Raw\-Data\-Cutter\-Processor@{marlintpc\-::\-Raw\-Data\-Cutter\-Processor}!\-\_\-\-T\-P\-C\-Conditions\-Coll\-Name@{\-\_\-\-T\-P\-C\-Conditions\-Coll\-Name}}
\index{\-\_\-\-T\-P\-C\-Conditions\-Coll\-Name@{\-\_\-\-T\-P\-C\-Conditions\-Coll\-Name}!marlintpc::RawDataCutterProcessor@{marlintpc\-::\-Raw\-Data\-Cutter\-Processor}}
\subsubsection[{\-\_\-\-T\-P\-C\-Conditions\-Coll\-Name}]{\setlength{\rightskip}{0pt plus 5cm}std\-::string marlintpc\-::\-Raw\-Data\-Cutter\-Processor\-::\-\_\-\-T\-P\-C\-Conditions\-Coll\-Name\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1RawDataCutterProcessor_a780cb02f0e13d5b607b763845f12d675}


Name of the collection containing the T\-P\-C Conditions i.\-e. 

drift velocity 

Referenced by init().



The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
Raw\-Data\-Cutter\-Processor.\-h\item 
Raw\-Data\-Cutter\-Processor.\-cc\end{DoxyCompactItemize}
</pre></body></html>