FairRoot/PandaRoot
|
FADC FIR (finite impulse response) filter. More...
#include <PndEmcFadcFilter.h>
Public Types | |
enum | type { arbitrary = 0, symmetric = 1, antisymmetric = -1 } |
Public Member Functions | |
PndEmcFadcFilter () | |
virtual | ~PndEmcFadcFilter () |
virtual void | Filter (const std::vector< Double_t > &in, std::vector< Double_t > &out) const |
void | SetData (Double_t data[], Int_t i_size, Int_t i_offset) |
Int_t | MinIndex () const |
Int_t | MaxIndex () const |
Int_t | Size () const |
void | Convolute (const PndEmcFadcFilter &filt) |
void | Convolute (const PndEmcFadcFilter &lhs, const PndEmcFadcFilter &rhs) |
void | Clear () |
void | SetupMA (Int_t i_width) |
void | SetupMWD (Int_t i_width, Double_t tau) |
void | SetupMatchedFilter (Int_t i_width, PndEmcAbsPulseshape *pulseshape, Double_t sampleRate) |
void | SetupBipolarTrapez (Int_t i_rise, Int_t i_flat, Int_t i_width) |
void | SetupTrapez (Int_t i_rise, Int_t i_flat) |
void | SetupBipolarTriangle (Int_t i_rise) |
void | SetupDifferentiator (Int_t i_lag=0, Int_t i_width=1) |
void | SetupDoubleDifferentiator (Int_t i_npos=1, Int_t i_nneg=1, Int_t i_nzero=0) |
void | SetupPZDifferentiator (Int_t i_lag=0, Double_t d_fac=1.) |
void | SetNormalizeFloating (Double_t d_norm=1.) |
void | SetNormalizeInteger (Int_t i_shift=0) |
std::vector< Double_t > | GetWeights () const |
Private Attributes | |
std::vector< Double_t > | fCoeff |
Int_t | fOffset |
Int_t | fType |
Bool_t | fIntegerize |
Double_t | fNormFactor |
Int_t | fShiftCount |
FADC FIR (finite impulse response) filter.
Definition at line 21 of file PndEmcFadcFilter.h.
Enumerator | |
---|---|
arbitrary | |
symmetric | |
antisymmetric |
Definition at line 24 of file PndEmcFadcFilter.h.
PndEmcFadcFilter::PndEmcFadcFilter | ( | ) |
Definition at line 29 of file PndEmcFadcFilter.cxx.
References fCoeff.
|
virtual |
Definition at line 40 of file PndEmcFadcFilter.cxx.
void PndEmcFadcFilter::Clear | ( | ) |
Definition at line 389 of file PndEmcFadcFilter.cxx.
References arbitrary, fCoeff, fOffset, and fType.
Referenced by Convolute(), SetData(), SetupBipolarTrapez(), SetupBipolarTriangle(), SetupDifferentiator(), SetupDoubleDifferentiator(), SetupMA(), SetupMatchedFilter(), SetupMWD(), SetupPZDifferentiator(), and SetupTrapez().
void PndEmcFadcFilter::Convolute | ( | const PndEmcFadcFilter & | filt | ) |
Definition at line 83 of file PndEmcFadcFilter.cxx.
void PndEmcFadcFilter::Convolute | ( | const PndEmcFadcFilter & | lhs, |
const PndEmcFadcFilter & | rhs | ||
) |
Definition at line 91 of file PndEmcFadcFilter.cxx.
References arbitrary, Clear(), Double_t, fCoeff, fIntegerize, fNormFactor, fOffset, fShiftCount, fType, i, and Size().
|
virtual |
Definition at line 44 of file PndEmcFadcFilter.cxx.
References Double_t, fCoeff, fIntegerize, fNormFactor, i, MaxIndex(), and MinIndex().
Referenced by PndEmcPSATrapDigiFilter::Process(), PndEmcPSAMatchedDigiFilter::Process(), and testFilter().
|
inline |
Int_t PndEmcFadcFilter::MaxIndex | ( | ) | const |
Definition at line 378 of file PndEmcFadcFilter.cxx.
References fCoeff, and fOffset.
Referenced by Filter().
Int_t PndEmcFadcFilter::MinIndex | ( | ) | const |
void PndEmcFadcFilter::SetData | ( | Double_t | data[], |
Int_t | i_size, | ||
Int_t | i_offset | ||
) |
Definition at line 128 of file PndEmcFadcFilter.cxx.
References antisymmetric, arbitrary, Clear(), Double_t, fCoeff, fOffset, fType, i, and symmetric.
Referenced by testFilter().
void PndEmcFadcFilter::SetNormalizeFloating | ( | Double_t | d_norm = 1. | ) |
Definition at line 353 of file PndEmcFadcFilter.cxx.
References fIntegerize, fNormFactor, and fShiftCount.
void PndEmcFadcFilter::SetNormalizeInteger | ( | Int_t | i_shift = 0 | ) |
Definition at line 362 of file PndEmcFadcFilter.cxx.
References fIntegerize, fNormFactor, fShiftCount, and i.
void PndEmcFadcFilter::SetupBipolarTrapez | ( | Int_t | i_rise, |
Int_t | i_flat, | ||
Int_t | i_width | ||
) |
Definition at line 217 of file PndEmcFadcFilter.cxx.
References Clear(), fCoeff, fType, i, and symmetric.
void PndEmcFadcFilter::SetupBipolarTriangle | ( | Int_t | i_rise | ) |
Definition at line 264 of file PndEmcFadcFilter.cxx.
References antisymmetric, Clear(), fCoeff, fOffset, fType, and i.
void PndEmcFadcFilter::SetupDifferentiator | ( | Int_t | i_lag = 0 , |
Int_t | i_width = 1 |
||
) |
Definition at line 284 of file PndEmcFadcFilter.cxx.
References antisymmetric, Clear(), fCoeff, fOffset, fType, and i.
void PndEmcFadcFilter::SetupDoubleDifferentiator | ( | Int_t | i_npos = 1 , |
Int_t | i_nneg = 1 , |
||
Int_t | i_nzero = 0 |
||
) |
Definition at line 303 of file PndEmcFadcFilter.cxx.
References Clear(), fCoeff, fOffset, fType, i, max(), and symmetric.
void PndEmcFadcFilter::SetupMA | ( | Int_t | i_width | ) |
Definition at line 160 of file PndEmcFadcFilter.cxx.
References Clear(), fCoeff, fType, i, and symmetric.
void PndEmcFadcFilter::SetupMatchedFilter | ( | Int_t | i_width, |
PndEmcAbsPulseshape * | pulseshape, | ||
Double_t | sampleRate | ||
) |
Definition at line 193 of file PndEmcFadcFilter.cxx.
References arbitrary, Clear(), Double_t, fCoeff, fType, i, t, val, and PndEmcAbsPulseshape::value().
Referenced by PndEmcPSAMatchedDigiFilter::Process().
void PndEmcFadcFilter::SetupMWD | ( | Int_t | i_width, |
Double_t | tau | ||
) |
Definition at line 175 of file PndEmcFadcFilter.cxx.
References arbitrary, Clear(), fCoeff, fType, and i.
void PndEmcFadcFilter::SetupPZDifferentiator | ( | Int_t | i_lag = 0 , |
Double_t | d_fac = 1. |
||
) |
Definition at line 336 of file PndEmcFadcFilter.cxx.
References arbitrary, Clear(), fCoeff, fOffset, fType, and i.
void PndEmcFadcFilter::SetupTrapez | ( | Int_t | i_rise, |
Int_t | i_flat | ||
) |
Definition at line 244 of file PndEmcFadcFilter.cxx.
References Clear(), fCoeff, fOffset, fType, i, and symmetric.
Referenced by PndEmcPSATrapDigiFilter::Process(), and testFilter().
Int_t PndEmcFadcFilter::Size | ( | ) | const |
|
private |
Definition at line 61 of file PndEmcFadcFilter.h.
Referenced by Clear(), Convolute(), Filter(), GetWeights(), MaxIndex(), PndEmcFadcFilter(), SetData(), SetupBipolarTrapez(), SetupBipolarTriangle(), SetupDifferentiator(), SetupDoubleDifferentiator(), SetupMA(), SetupMatchedFilter(), SetupMWD(), SetupPZDifferentiator(), SetupTrapez(), and Size().
|
private |
Definition at line 64 of file PndEmcFadcFilter.h.
Referenced by Convolute(), Filter(), SetNormalizeFloating(), and SetNormalizeInteger().
|
private |
Definition at line 65 of file PndEmcFadcFilter.h.
Referenced by Convolute(), Filter(), SetNormalizeFloating(), and SetNormalizeInteger().
|
private |
Definition at line 62 of file PndEmcFadcFilter.h.
Referenced by Clear(), Convolute(), MaxIndex(), MinIndex(), SetData(), SetupBipolarTriangle(), SetupDifferentiator(), SetupDoubleDifferentiator(), SetupPZDifferentiator(), and SetupTrapez().
|
private |
Definition at line 66 of file PndEmcFadcFilter.h.
Referenced by Convolute(), SetNormalizeFloating(), and SetNormalizeInteger().
|
private |
Definition at line 63 of file PndEmcFadcFilter.h.
Referenced by Clear(), Convolute(), SetData(), SetupBipolarTrapez(), SetupBipolarTriangle(), SetupDifferentiator(), SetupDoubleDifferentiator(), SetupMA(), SetupMatchedFilter(), SetupMWD(), SetupPZDifferentiator(), and SetupTrapez().