\section{marlintpc\-:\-:Signal\-Splitter Class Reference}
\label{classmarlintpc_1_1SignalSplitter}\index{marlintpc\-::\-Signal\-Splitter@{marlintpc\-::\-Signal\-Splitter}}


The signal splitter sparates signals of overlapping pulses.  




{\ttfamily \#include $<$Signal\-Splitter.\-h$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
std\-::vector$<$ std\-::pair$<$ size\-\_\-t, \\*
std\-::vector$<$ float $>$ $>$ $>$ {\bf split\-Signal} (std\-::vector$<$ float $>$ const \&, double noise=0)
\begin{DoxyCompactList}\small\item\em The split function takes a std\-::vector of the signal to be split. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
void {\bfseries split\-Signal\-Two\-Peaks} (std\-::vector$<$ float $>$ const \&)\label{classmarlintpc_1_1SignalSplitter_a31af47a1829beae3f80608f21e43201d}

\item 
void {\bfseries split\-Signal\-At\-Minima} (std\-::vector$<$ float $>$ const \&, double noise=0)\label{classmarlintpc_1_1SignalSplitter_ac5b057d73e40d29a36279ac6e99c5505}

\item 
std\-::vector$<$ size\-\_\-t $>$ {\bf find\-Maxima} (std\-::vector$<$ float $>$ const \&, double noise=0)\label{classmarlintpc_1_1SignalSplitter_aec9f297cb2a32c9790864950a5a42c26}

\begin{DoxyCompactList}\small\item\em search for maxima and return a vector of iterators in the original signal \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
std\-::vector$<$ size\-\_\-t $>$ {\bfseries \-\_\-maxima}\label{classmarlintpc_1_1SignalSplitter_aed5fd7e69fa5f6023c0567d3d31dd653}

\item 
std\-::vector$<$ std\-::pair$<$ size\-\_\-t, \\*
std\-::vector$<$ float $>$ $>$ $>$ {\bfseries \-\_\-split\-Signals}\label{classmarlintpc_1_1SignalSplitter_a8c546e75fdaa4950dfc372f603117f85}

\item 
double {\bfseries \-\_\-noise\-Threshold}\label{classmarlintpc_1_1SignalSplitter_a3bc694cbbcf9caf88d643dbf10d80a94}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
The signal splitter sparates signals of overlapping pulses. 

In a first step it seaches for local minima. Afterwards it unfolds the signals assuming a gaussian shape per pulse.

Please use the test\-Signal\-Splitter programme from the validation to see how it works. 

\subsection{Member Function Documentation}
\index{marlintpc\-::\-Signal\-Splitter@{marlintpc\-::\-Signal\-Splitter}!split\-Signal@{split\-Signal}}
\index{split\-Signal@{split\-Signal}!marlintpc::SignalSplitter@{marlintpc\-::\-Signal\-Splitter}}
\subsubsection[{split\-Signal}]{\setlength{\rightskip}{0pt plus 5cm}std\-::vector$<$ std\-::pair$<$ size\-\_\-t, std\-::vector$<$ float $>$ $>$ $>$ marlintpc\-::\-Signal\-Splitter\-::split\-Signal (
\begin{DoxyParamCaption}
\item[{std\-::vector$<$ float $>$ const \&}]{input\-Signal, }
\item[{double}]{noise = {\ttfamily 0}}
\end{DoxyParamCaption}
)}\label{classmarlintpc_1_1SignalSplitter_a6e3691747b7e571f23517adac463eebb}


The split function takes a std\-::vector of the signal to be split. 

The return value is a vector of pairs, where the first value in the pair is the position of the split pulse in the original pulse (first bin of the split pulse). The second value in the pair is the split pulse. 

References find\-Maxima().



Referenced by marlintpc\-::\-Hit\-Splitter\-::split\-Hit().



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