SampleDelayFunction.h
1 //-*-C++-*-
2 /***************************************************************************
3  *
4  * Copyright (C) 2005 by Willem van Straten
5  * Licensed under the Academic Free License version 2.1
6  *
7  ***************************************************************************/
8 
9 // dspsr/Signal/General/dsp/SampleDelayFunction.h
10 
11 #ifndef __baseband_dsp_SampleDelayFunction_h
12 #define __baseband_dsp_SampleDelayFunction_h
13 
14 #include "Reference.h"
15 #include "environ.h"
16 
17 namespace dsp {
18 
19  class Observation;
20 
22  class SampleDelayFunction : public Reference::Able {
23 
24  public:
25 
27  virtual ~SampleDelayFunction () { }
28 
30 
32  virtual bool match (const Observation* obs) = 0;
33 
35  virtual int64_t get_delay (unsigned ichan=0, unsigned ipol=0) const = 0;
36 
38  virtual int64_t get_delay_range (unsigned schan=0, unsigned echan=0, unsigned ipol=0) const = 0;
39 
41  virtual void mark (Observation* observation) { }
42 
44  virtual bool get_absolute () const { return false; }
45 
46  };
47 
48 
49 }
50 
51 #endif
virtual bool get_absolute() const
Return true if delays are absolute (and guaranteed positive)
Definition: SampleDelayFunction.h:49
Contains all Baseband Data Reduction Library classes.
Definition: ASCIIObservation.h:17
virtual int64_t get_delay_range(unsigned schan=0, unsigned echan=0, unsigned ipol=0) const =0
Return the delay for the specified channel range and polarization.
virtual int64_t get_delay(unsigned ichan=0, unsigned ipol=0) const =0
Return the delay for the specified channel and polarization.
virtual ~SampleDelayFunction()
Destructor.
Definition: SampleDelayFunction.h:32
Stores information about digital, band-limited, time-varying signals.
Definition: Observation.h:33
virtual bool match(const Observation *obs)=0
Compute the delays for the specified Observation.
virtual void mark(Observation *observation)
Add to the history of operations performed on the observation.
Definition: SampleDelayFunction.h:46

Generated using doxygen 1.8.17