All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Files | Namespaces
PulseReco

Files

file  PedAlgoFixed.cxx
 Pedestal "algorithm" reading the pedestals from somewhere else.
 
file  PedAlgoFixed.h
 Pedestal "algorithm" reading the pedestals from somewhere else.
 
file  AlgoCFD.h
 Class definition file of AlgoCFD.
 
file  AlgoFixedWindow.h
 Class definition file of AlgoFixedWindow.
 
file  AlgoSlidingWindow.h
 Class definition file of AlgoSlidingWindow.
 
file  AlgoThreshold.h
 Class definition file of AlgoThreshold.
 
file  PedAlgoEdges.h
 Class definition file of PedAlgoEdges.
 
file  PedAlgoRmsSlider.h
 Class definition file of PedAlgoRmsSlider.
 
file  PedAlgoRollingMean.h
 Class definition file of PedAlgoRollingMean.
 
file  PedAlgoUB.h
 Class definition file of PedAlgoUB.
 
file  PMTPedestalBase.h
 Class definition file of PMTPedestalBase.
 
file  PMTPulseRecoBase.h
 Class definition file of PMTPulseRecoBase.
 
file  PulseRecoManager.h
 Class definition file of PulseRecoManager.
 

Namespaces

 fhicl
 
 pmtana
 LArSoft libraries.
 

Detailed Description

This is a big hack.

The optical reconstruction mini-framework passes to the pedestal algorithm only a pointer to the waveform samples, with no context at all. In this algorithm we need to figure out that context. We take the pointer of every single possible input, because we need to know the index of the waveform, which is required to match the index in the pedestal and RMS lists. We can't even just take the address of the first waveform, because we don't know the actual type of the vector the waveform belongs too (in LArSoft, that is raw::OpDetWaveform, which has different size and therefore pointer math than the vector of samples it derives from).

Multithreading note

This class is not multithread-ready. To process multiple events, the input sets should be placed into a container with controlled access (one writes, many read).