Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes

ValueSeriesEvFinder< VT, PT > Class Template Reference

Event finder in gate. More...

List of all members.

Public Member Functions

 ValueSeriesEvFinder (const ValueSeries< VT > &v, int maxidx, const SamplingData< PT > &s)
const ValueSeries< VT > & valueSeries () const
const SamplingData< PT > & samplingData () const
ValueSeriesEvent< VT, PT > find (VSEvent::Type, Interval< PT >, int occ=1) const
bool findEvents (TypeSet< PT > &, Interval< PT >, VSEvent::Type)
VSEvent::Type lastFound () const
 Useful when finding Extr or ZC.

Static Public Member Functions

static ValueSeriesEvent< VT, PT > exactExtreme (VSEvent::Type, int idxminus1, int idx0, int idx1, VT vminus1, VT v0, VT v1, const SamplingData< PT > &)

Protected Member Functions

ValueSeriesEvent< VT, PT > getZC (const Interval< int > &, int, VSEvent::Type) const
ValueSeriesEvent< VT, PT > getExtreme (const Interval< int > &, int, VSEvent::Type) const
ValueSeriesEvent< VT, PT > getGateExtr (Interval< int >, bool) const

Protected Attributes

const ValueSeries< VT > & vs_
const SamplingData< PT > sd_
int maxidx_
VSEvent::Type lastfound_

Detailed Description

template<class VT, class PT>
class ValueSeriesEvFinder< VT, PT >

Event finder in gate.

The gate is absolute. The finder will start at the 'start' and stop at the 'stop'. This is important because the event finding has a direction! Thus, the Interval<PT> you provide can go up or down.

The 'occ' parameter is specifies the occurrence of the event; it is ignored for GateMin and Max.


Constructor & Destructor Documentation

template<class VT , class PT >
ValueSeriesEvFinder< VT, PT >::ValueSeriesEvFinder ( const ValueSeries< VT > &  v,
int  maxidx,
const SamplingData< PT > &  s 
) [inline]

Member Function Documentation

template<class VT , class PT >
ValueSeriesEvent< VT, PT > ValueSeriesEvFinder< VT, PT >::exactExtreme ( VSEvent::Type  evtype,
int  idxminus1,
int  idx0,
int  idx1,
VT  vminus1,
VT  v0,
VT  v1,
const SamplingData< PT > &  sd 
) [inline, static]

2nd order polynome where values can be separated more than 1 sample

template<class VT , class PT >
ValueSeriesEvent< VT, PT > ValueSeriesEvFinder< VT, PT >::find ( VSEvent::Type  evtype,
Interval< PT >  pg,
int  occ = 1 
) const [inline]
template<class VT , class PT >
bool ValueSeriesEvFinder< VT, PT >::findEvents ( TypeSet< PT > &  posset,
Interval< PT >  pg,
VSEvent::Type  evtype 
) [inline]
template<class VT , class PT >
ValueSeriesEvent< VT, PT > ValueSeriesEvFinder< VT, PT >::getExtreme ( const Interval< int > &  sg,
int  occ,
VSEvent::Type  evtype 
) const [inline, protected]
template<class VT , class PT >
ValueSeriesEvent< VT, PT > ValueSeriesEvFinder< VT, PT >::getGateExtr ( Interval< int >  sg,
bool  needmax 
) const [inline, protected]
template<class VT , class PT >
ValueSeriesEvent< VT, PT > ValueSeriesEvFinder< VT, PT >::getZC ( const Interval< int > &  sg,
int  occ,
VSEvent::Type  evtype 
) const [inline, protected]
template<class VT , class PT >
VSEvent::Type ValueSeriesEvFinder< VT, PT >::lastFound (  )  const [inline]

Useful when finding Extr or ZC.

template<class VT , class PT >
const SamplingData<PT>& ValueSeriesEvFinder< VT, PT >::samplingData (  )  const [inline]
template<class VT , class PT >
const ValueSeries<VT>& ValueSeriesEvFinder< VT, PT >::valueSeries (  )  const [inline]

Member Data Documentation

template<class VT , class PT >
VSEvent::Type ValueSeriesEvFinder< VT, PT >::lastfound_ [mutable, protected]
template<class VT , class PT >
int ValueSeriesEvFinder< VT, PT >::maxidx_ [protected]
template<class VT , class PT >
const SamplingData<PT> ValueSeriesEvFinder< VT, PT >::sd_ [protected]
template<class VT , class PT >
const ValueSeries<VT>& ValueSeriesEvFinder< VT, PT >::vs_ [protected]