StrategySet.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/StrategySet.h
10
11#ifndef __Pulsar_StrategySet_h
12#define __Pulsar_StrategySet_h
13
14#include "Pulsar/ProfileStrategies.h"
15
16namespace Pulsar {
17
18 // forward declaration of ProfileStats class, which manages strategies
19 class ProfileStats;
20
21 class StrategySet : public Profile::Strategies
22 {
24 mutable Reference::To<ProfileStats> stats;
25
26 public:
27
29 static unsigned get_instance_count();
30
32
33 static Configuration::Parameter< Reference::To<ProfileWeightFunction> >&
34 get_default_baseline();
35
37
38 static Configuration::Parameter< Reference::To<ProfileWeightFunction> >&
39 get_default_onpulse();
40
42
43 static Configuration::Parameter< Reference::To<SNRatioEstimator> >&
44 get_default_snratio();
45
47 StrategySet ();
48
50 StrategySet (const StrategySet&);
51
53 ~StrategySet ();
54
56 StrategySet* clone () const;
57
59 ProfileWeightFunction* baseline () const;
60 void set_baseline (ProfileWeightFunction*);
61
63 ProfileWeightFunction* onpulse () const;
64 void set_onpulse (ProfileWeightFunction*);
65
67 SNRatioEstimator* snratio () const;
68 void set_snratio (SNRatioEstimator*);
69
71 WidthEstimator* width () const;
72 void set_width (WidthEstimator*);
73
75 ProfileStats* get_stats () const;
76 void set_stats (ProfileStats*);
77
79 class Extension;
80 };
81
82}
83
84#endif
Computes pulse profile statistics.
Definition ProfileStats.h:32
Manages the strategies that implement algorithms.
Definition ProfileStrategies.h:22
virtual ProfileWeightFunction * onpulse() const =0
The implementation of the on-pulse finding algorithm.
virtual WidthEstimator * width() const =0
The implementation of the pulse width estimator.
virtual Strategies * clone() const =0
Clone.
virtual SNRatioEstimator * snratio() const =0
The implementation of the signal-to-noise ratio calculation.
virtual ProfileWeightFunction * baseline() const =0
The implementation of the baseline finding algorithm.
static size_t get_instance_count()
Defines the PSRCHIVE library.
Definition CalSource.h:17

Generated using doxygen 1.14.0