ProfileStrategies.h
1 //-*-C++-*-
2 /***************************************************************************
3  *
4  * Copyright (C) 2018 by Willem van Straten
5  * Licensed under the Academic Free License version 2.1
6  *
7  ***************************************************************************/
8 
9 // psrchive/Base/Classes/Pulsar/ProfileStrategies.h
10 
11 #ifndef __Pulsar_ProfileStrategies_h
12 #define __Pulsar_ProfileStrategies_h
13 
14 #include "Pulsar/Profile.h"
15 
16 namespace Pulsar {
17 
18  class WidthEstimator;
19 
21  class Profile::Strategies : public Reference::Able
22  {
23  public:
24 
26  virtual ~Strategies () {}
27 
29  virtual ProfileWeightFunction* baseline () const = 0;
30 
32  virtual ProfileWeightFunction* onpulse () const = 0;
33 
35  virtual SNRatioEstimator* snratio () const = 0;
36 
38  virtual WidthEstimator* width () const = 0;
39 
41  virtual Strategies* clone () const = 0;
42  };
43 
44 }
45 
46 #endif
virtual ProfileWeightFunction * onpulse() const =0
The implementation of the on-pulse finding algorithm.
virtual ~Strategies()
Destructor.
Definition: ProfileStrategies.h:31
Manages the strategies that implement algorithms.
Definition: ProfileStrategies.h:26
virtual ProfileWeightFunction * baseline() const =0
The implementation of the baseline finding algorithm.
virtual SNRatioEstimator * snratio() const =0
The implementation of the signal-to-noise ratio calculation.
virtual Strategies * clone() const =0
Clone.
PhaseWeight algorithms that receive an input Profile.
Definition: ProfileWeightFunction.h:26
Algorithms that estimate the signal-to-noise ratio of pulse profiles.
Definition: SNRatioEstimator.h:27
Defines the PSRCHIVE library.
Definition: CalSource.h:17
virtual WidthEstimator * width() const =0
The implementation of the pulse width estimator.
Algorithms that estimate the width of the pulse profile.
Definition: WidthEstimator.h:31

Generated using doxygen 1.8.17