MeanArrivalTime.h
1//-*-C++-*-
2/***************************************************************************
3 *
4 * Copyright (C) 2024 by Willem van Straten and Matthew Bailes
5 * Licensed under the Academic Free License version 2.1
6 *
7 ***************************************************************************/
8
9// psrchive/More/Timing/Pulsar/MeanArrivalTime.h
10
11#ifndef __Pulsar_MeanArrivalTime_h
12#define __Pulsar_MeanArrivalTime_h
13
14#include "LinearRegression.h"
15#include "ReferenceAble.h"
16#include "Estimate.h"
17
18#include <vector>
19
20namespace Pulsar {
21
24 {
26 std::vector< Estimate<double> > delay_sec;
28 std::vector< double > lambda_sq;
29
31 Estimate<double> fit_delay;
33 Estimate<double> fit_delta_DM;
34
36 double reference_frequency = 0;
37
39 unsigned num_subbands = 1;
40
41 public:
42
44 void integrate (double freq_MHz, Estimate<double> delay_seconds);
45
47 void fit ();
48
50 void reset ();
51
53 Estimate<double> get_delay () const { return fit_delay; }
54
56 Estimate<double> get_delta_DM () const { return fit_delta_DM; }
57
59
60 double get_reference_frequency () const { return reference_frequency; }
61
63 void set_num_subbands(unsigned n) { num_subbands = n; }
64
66
67 std::vector<std::pair<Estimate<double>,double>> get_subband_delays();
68
69 private:
70
72 LinearRegression linear_fit;
73
74 };
75
76}
77
78#endif
Computes inverse-variance weighted mean frequency and arrival time, with optional delta-DM.
Definition MeanArrivalTime.h:24
std::vector< std::pair< Estimate< double >, double > > get_subband_delays()
Return delays for each sub-band.
Definition MeanArrivalTime.C:57
Estimate< double > get_delta_DM() const
Return the best-fit delta-DM (in ) at the reference frequency.
Definition MeanArrivalTime.h:56
void reset()
Delete all data and reset all values to zero.
Definition MeanArrivalTime.C:25
double get_reference_frequency() const
Return the reference frequency in MHz.
Definition MeanArrivalTime.h:60
Estimate< double > get_delay() const
Return the best-fit delay (in seconds) at the reference frequency.
Definition MeanArrivalTime.h:53
void set_num_subbands(unsigned n)
Set the number of sub-bands for which to compute delays.
Definition MeanArrivalTime.h:63
void fit()
Compute the best-fit delay and delta-DM.
Definition MeanArrivalTime.C:35
void integrate(double freq_MHz, Estimate< double > delay_seconds)
Add a time delay estimate.
Definition MeanArrivalTime.C:16
Defines the PSRCHIVE library.
Definition CalSource.h:17

Generated using doxygen 1.14.0