MarlinTPC  1.2.0
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
marlintpc::SignalSplitter Class Reference

The signal splitter sparates signals of overlapping pulses. More...

#include <SignalSplitter.h>

Public Member Functions

std::vector< std::pair< size_t,
std::vector< float > > > 
splitSignal (std::vector< float > const &, double noise=0)
 The split function takes a std::vector of the signal to be split. More...
 

Protected Member Functions

void splitSignalTwoPeaks (std::vector< float > const &)
 
void splitSignalAtMinima (std::vector< float > const &, double noise=0)
 
std::vector< size_t > findMaxima (std::vector< float > const &, double noise=0)
 search for maxima and return a vector of iterators in the original signal
 

Protected Attributes

std::vector< size_t > _maxima
 
std::vector< std::pair< size_t,
std::vector< float > > > 
_splitSignals
 
double _noiseThreshold
 

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 testSignalSplitter programme from the validation to see how it works.

Member Function Documentation

std::vector< std::pair< size_t, std::vector< float > > > marlintpc::SignalSplitter::splitSignal ( std::vector< float > const &  inputSignal,
double  noise = 0 
)

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 findMaxima().

Referenced by marlintpc::HitSplitter::splitHit().


The documentation for this class was generated from the following files: