WidthEstimator.h
1//-*-C++-*-
2/***************************************************************************
3 *
4 * Copyright (C) 2016 by Willem van Straten
5 * Licensed under the Academic Free License version 2.1
6 *
7 ***************************************************************************/
8
9// psrchive/More/General/Pulsar/WidthEstimator.h
10
11#ifndef __Pulsar_WidthEstimator_h
12#define __Pulsar_WidthEstimator_h
13
14#include "Pulsar/Algorithm.h"
15#include "TextInterface.h"
16#include "PhaseRange.h"
17
18namespace Pulsar {
19
20 class Profile;
21
23
27 {
28 protected:
29
31 virtual double get_width_turns (const Profile* profile) = 0;
32
33 public:
34
37
39 virtual Phase::Value get_width (const Profile* profile);
40
43
45 virtual WidthEstimator* clone () const = 0;
46
48 static WidthEstimator* factory (const std::string& name_and_parse);
49
50 };
51
52}
53
54
55#endif // !defined __Pulsar_WidthEstimator_h
Data manipulation implementations.
Definition Algorithm.h:19
Any quantity recorded as a function of pulse phase.
Definition Profile.h:40
Algorithms that estimate the width of the pulse profile.
Definition WidthEstimator.h:27
virtual double get_width_turns(const Profile *profile)=0
Derived classes must implement this method.
virtual Phase::Value get_width(const Profile *profile)
Return the width of the pulse profile in turns.
Definition WidthEstimator.C:21
virtual TextInterface::Parser * get_interface()=0
Return a text interface that can be used to configure this instance.
static WidthEstimator * factory(const std::string &name_and_parse)
Construct a new WidthEstimator from a string.
Definition WidthEstimator.C:30
~WidthEstimator()
Destructor.
Definition WidthEstimator.C:16
virtual WidthEstimator * clone() const =0
Return a copy constructed instance of self.
Defines the PSRCHIVE library.
Definition CalSource.h:17

Generated using doxygen 1.14.0