![]() |
Diana Software
|
Filter based on optimum filter tailored to preserve the shape of the original signal. More...
Public Member Functions | |
| QOptimumShapeFilter (const Diana::QVector &ap1, const Diana::QVector &an, int maxJitter, bool useDiff, bool debugOn=false, size_t step=2) | |
| const Diana::QVector & | GetOriginalAveragePulse () |
| const Diana::QVector & | GetOriginalAveragePulseFilteredShifted () |
| QError | GetChiLeft (double &chiLeft) const |
| QError | GetChiRight (double &chiRight) const |
| QError | GetRiseTime (double &riseTime) const |
| QError | GetDecayTime (double &decayTime) const |
Public Member Functions inherited from QOptimumFilter | |
| QOptimumFilter (const Diana::QVector &ap1, const Diana::QVector &an, int maxJitter, bool useDiff=false, bool debugOn=false) | |
| constructor More... | |
| virtual | ~QOptimumFilter () |
| int | GetMaxJitter () const |
| double | GetCutOffFrequency () const |
| Diana::QVector | GetAveragePulse () const |
| get normalized average pulse More... | |
| Diana::QVector | GetAveragePulseEnergySpectrum () const |
| energy spectrum of the average pulse More... | |
| Diana::QVector | GetNoisePowerSpectrum () const |
| power spectrum of the original noise More... | |
| Diana::QVectorC | GetFilterFD () const |
| filter in the frequency domain More... | |
| Diana::QVector | GetFilterTD () const |
| kernel of the filter in the time domain More... | |
| Diana::QVector | GetFilteredNoise () const |
| expected filtered noise average power spectrum More... | |
| double | GetFilteredNoiseRMS () const |
| expected noise rms after the filter More... | |
| Diana::QVector | GetSNRFD () const |
| Get SNR as a function of frequency More... | |
| QError | Filter (const Diana::QVector &p) |
| filter. In case of failure an error is returned. More... | |
| const Diana::QVector & | GetFiltered () const |
| get filtered samples More... | |
| Diana::QVector | GetFilteredShifted () const |
| get filtered and shifted samples by fMaxPos More... | |
| int | GetShift () const |
| get shift of filter (max pos of avg pulse) More... | |
| QError | SetJitter (JitterMode mode, int start=0) |
| QError | Get (double &jitter, double &chi2, double &litude, double &integral, double &left, double &right) const |
| QError | GetHighSNRChi2 (const double &threshold, double &chi2) const |
| get chi^2 (mean 0, variance 1) restricting the DoF to frequencies with SNR > threshold More... | |
| QError | GetInterpolated (double &jitter, double &chi2, double &litude, double &integral, double &left, double &right) const |
| get values at interpolated chi^2 minimum. Three points around the minimum are used for a parabolic interpolation. if Filter()!=QERR_SUCCESS throws the error More... | |
| std::vector< double > | Get () const |
| Diana::QVector | GetFitFunction (const double jitter, const double a1) const |
Private Member Functions | |
| QError | ManipulateInputs () |
Private Attributes | |
| size_t | fStep |
| Diana::QVector | fOriginalAveragePulse |
| Diana::QVector | fOriginalAveragePulseFilteredShifted |
| size_t | fOriginalAveragePulseFilteredMaxPos |
| int | fOffset |
| int | fDeltat20 |
| int | fDeltat50 |
| int | fDeltat80 |
Additional Inherited Members | |
Public Types inherited from QOptimumFilter | |
| enum | JitterMode { J_ABSMAX , J_LOCMAX , J_FIXED , J_NOJITTER } |
Public Attributes inherited from QOptimumFilter | |
| std::vector< Diana::QVector > | fDebugVectors |
| std::vector< Diana::QVector > | fDebugSpectra |
Protected Member Functions inherited from QOptimumFilter | |
| QOptimumFilter (const Diana::QVector &ap1, const Diana::QVector &an) | |
| Diana::QVector | NormalizeVector (const Diana::QVector &vec) const |
| QError | BuildFilter () |
Protected Attributes inherited from QOptimumFilter | |
| QError | fCheckForFilteredSamples |
| QError | fCheckForBuiltFilter |
| double | fFilteredRMS1 |
| double | fFilteredAutoCorrelation |
| Diana::QVector | fAveragePulse1 |
| size_t | fSize |
| int | fMaxPos |
| int | fMaxJitter |
| bool | fDebugOn |
| bool | fUseDiff |
| Diana::QVectorC | fFilter1 |
Filter based on optimum filter tailored to preserve the shape of the original signal.
Definition at line 15 of file QOptimumShapeFilter.hh.
| QOptimumShapeFilter::QOptimumShapeFilter | ( | const Diana::QVector & | ap1, |
| const Diana::QVector & | an, | ||
| int | maxJitter, | ||
| bool | useDiff, | ||
| bool | debugOn = false, |
||
| size_t | step = 2 |
||
| ) |
Definition at line 6 of file QOptimumShapeFilter.cc.
References QOptimumFilter::BuildFilter(), DianaThrow, err, QOptimumFilter::fCheckForBuiltFilter, QOptimumFilter::fDebugOn, fDeltat20, fDeltat50, fDeltat80, QOptimumFilter::fFilter1, QOptimumFilter::Filter(), QOptimumFilter::fMaxJitter, fOffset, fOriginalAveragePulse, fOriginalAveragePulseFilteredMaxPos, fOriginalAveragePulseFilteredShifted, QOptimumFilter::fUseDiff, QOptimumFilter::GetFilteredShifted(), max, QOptimumFilter::NormalizeVector(), and QERR_SUCCESS.
| QError QOptimumShapeFilter::GetChiLeft | ( | double & | chiLeft | ) | const |
Definition at line 84 of file QOptimumShapeFilter.cc.
References err, QOptimumFilter::fCheckForFilteredSamples, and QERR_SUCCESS.
| QError QOptimumShapeFilter::GetChiRight | ( | double & | chiRight | ) | const |
Definition at line 92 of file QOptimumShapeFilter.cc.
References err, QOptimumFilter::fCheckForFilteredSamples, and QERR_SUCCESS.
| QError QOptimumShapeFilter::GetDecayTime | ( | double & | decayTime | ) | const |
Definition at line 105 of file QOptimumShapeFilter.cc.
References err, QOptimumFilter::fCheckForFilteredSamples, and QERR_SUCCESS.
|
inline |
Definition at line 20 of file QOptimumShapeFilter.hh.
References fOriginalAveragePulse.
|
inline |
Definition at line 21 of file QOptimumShapeFilter.hh.
References fOriginalAveragePulseFilteredShifted.
| QError QOptimumShapeFilter::GetRiseTime | ( | double & | riseTime | ) | const |
Definition at line 99 of file QOptimumShapeFilter.cc.
References err, QOptimumFilter::fCheckForFilteredSamples, and QERR_SUCCESS.
|
privatevirtual |
Reimplemented from QOptimumFilter.
Definition at line 59 of file QOptimumShapeFilter.cc.
References err, QOptimumFilter::fAveragePulse1, QOptimumFilter::fMaxPos, QOptimumFilter::fSize, fStep, QOptimumFilter::ManipulateInputs(), QOptimumFilter::NormalizeVector(), and QERR_SUCCESS.
|
private |
Definition at line 35 of file QOptimumShapeFilter.hh.
Referenced by QOptimumShapeFilter().
|
private |
Definition at line 36 of file QOptimumShapeFilter.hh.
Referenced by QOptimumShapeFilter().
|
private |
Definition at line 37 of file QOptimumShapeFilter.hh.
Referenced by QOptimumShapeFilter().
|
private |
Definition at line 34 of file QOptimumShapeFilter.hh.
Referenced by QOptimumShapeFilter().
|
private |
Definition at line 31 of file QOptimumShapeFilter.hh.
Referenced by GetOriginalAveragePulse(), and QOptimumShapeFilter().
|
private |
Definition at line 33 of file QOptimumShapeFilter.hh.
Referenced by QOptimumShapeFilter().
|
private |
Definition at line 32 of file QOptimumShapeFilter.hh.
Referenced by GetOriginalAveragePulseFilteredShifted(), and QOptimumShapeFilter().
|
private |
Definition at line 30 of file QOptimumShapeFilter.hh.
Referenced by ManipulateInputs().