#include <MedianCMNSubtractor.h>
Public Member Functions | |
void | subtract (const uint32_t &, std::vector< int16_t > &) |
void | subtract (const uint32_t &, std::vector< float > &) |
Private Member Functions | |
MedianCMNSubtractor () | |
template<typename T > | |
void | subtract_ (const uint32_t &, std::vector< T > &) |
Friends | |
class | SiStripRawProcessingFactory |
Definition at line 5 of file MedianCMNSubtractor.h.
MedianCMNSubtractor::MedianCMNSubtractor | ( | ) | [inline, private] |
Definition at line 17 of file MedianCMNSubtractor.h.
{};
void MedianCMNSubtractor::subtract | ( | const uint32_t & | detId, |
std::vector< int16_t > & | digis | ||
) | [virtual] |
Implements SiStripCommonModeNoiseSubtractor.
Definition at line 3 of file MedianCMNSubtractor.cc.
References subtract_().
{subtract_(detId,digis);}
void MedianCMNSubtractor::subtract | ( | const uint32_t & | detId, |
std::vector< float > & | digis | ||
) | [virtual] |
Implements SiStripCommonModeNoiseSubtractor.
Definition at line 4 of file MedianCMNSubtractor.cc.
References subtract_().
{subtract_(detId,digis);}
void MedianCMNSubtractor::subtract_ | ( | const uint32_t & | detId, |
std::vector< T > & | digis | ||
) | [inline, private] |
Definition at line 9 of file MedianCMNSubtractor.cc.
References SiStripCommonModeNoiseSubtractor::_vmedians, end, SiStripCommonModeNoiseSubtractor::median(), evf::evtn::offset(), strip(), and tmp.
Referenced by subtract().
{ std::vector<T> tmp; tmp.reserve(128); typename std::vector<T>::iterator strip( digis.begin() ), end( digis.end() ), endAPV; _vmedians.clear(); while( strip < end ) { endAPV = strip+128; tmp.clear(); tmp.insert(tmp.end(),strip,endAPV); const float offset = median(tmp); _vmedians.push_back(std::pair<short,float>((strip-digis.begin())/128,offset)); while (strip < endAPV) { *strip = static_cast<T>(*strip-offset); strip++; } } }
friend class SiStripRawProcessingFactory [friend] |
Reimplemented from SiStripCommonModeNoiseSubtractor.
Definition at line 7 of file MedianCMNSubtractor.h.