Diana Software
Public Member Functions | Private Member Functions | Private Attributes | List of all members
QOptimumShapeFilter Class Reference

Filter based on optimum filter tailored to preserve the shape of the original signal. More...

Inheritance diagram for QOptimumShapeFilter:
QOptimumFilter

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 &amplitude, 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 &amplitude, 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
 

Detailed Description

Filter based on optimum filter tailored to preserve the shape of the original signal.

Author
Marco Vignati

Definition at line 15 of file QOptimumShapeFilter.hh.

Constructor & Destructor Documentation

◆ QOptimumShapeFilter()

QOptimumShapeFilter::QOptimumShapeFilter ( const Diana::QVector &  ap1,
const Diana::QVector &  an,
int  maxJitter,
bool  useDiff,
bool  debugOn = false,
size_t  step = 2 
)

Member Function Documentation

◆ GetChiLeft()

QError QOptimumShapeFilter::GetChiLeft ( double &  chiLeft) const

◆ GetChiRight()

QError QOptimumShapeFilter::GetChiRight ( double &  chiRight) const

◆ GetDecayTime()

QError QOptimumShapeFilter::GetDecayTime ( double &  decayTime) const

◆ GetOriginalAveragePulse()

const Diana::QVector& QOptimumShapeFilter::GetOriginalAveragePulse ( )
inline

Definition at line 20 of file QOptimumShapeFilter.hh.

References fOriginalAveragePulse.

◆ GetOriginalAveragePulseFilteredShifted()

const Diana::QVector& QOptimumShapeFilter::GetOriginalAveragePulseFilteredShifted ( )
inline

Definition at line 21 of file QOptimumShapeFilter.hh.

References fOriginalAveragePulseFilteredShifted.

◆ GetRiseTime()

QError QOptimumShapeFilter::GetRiseTime ( double &  riseTime) const

◆ ManipulateInputs()

QError QOptimumShapeFilter::ManipulateInputs ( )
privatevirtual

Member Data Documentation

◆ fDeltat20

int QOptimumShapeFilter::fDeltat20
private

Definition at line 35 of file QOptimumShapeFilter.hh.

Referenced by QOptimumShapeFilter().

◆ fDeltat50

int QOptimumShapeFilter::fDeltat50
private

Definition at line 36 of file QOptimumShapeFilter.hh.

Referenced by QOptimumShapeFilter().

◆ fDeltat80

int QOptimumShapeFilter::fDeltat80
private

Definition at line 37 of file QOptimumShapeFilter.hh.

Referenced by QOptimumShapeFilter().

◆ fOffset

int QOptimumShapeFilter::fOffset
private

Definition at line 34 of file QOptimumShapeFilter.hh.

Referenced by QOptimumShapeFilter().

◆ fOriginalAveragePulse

Diana::QVector QOptimumShapeFilter::fOriginalAveragePulse
private

Definition at line 31 of file QOptimumShapeFilter.hh.

Referenced by GetOriginalAveragePulse(), and QOptimumShapeFilter().

◆ fOriginalAveragePulseFilteredMaxPos

size_t QOptimumShapeFilter::fOriginalAveragePulseFilteredMaxPos
private

Definition at line 33 of file QOptimumShapeFilter.hh.

Referenced by QOptimumShapeFilter().

◆ fOriginalAveragePulseFilteredShifted

Diana::QVector QOptimumShapeFilter::fOriginalAveragePulseFilteredShifted
private

◆ fStep

size_t QOptimumShapeFilter::fStep
private

Definition at line 30 of file QOptimumShapeFilter.hh.

Referenced by ManipulateInputs().


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