DispersionDelay.h
1//-*-C++-*-
2/***************************************************************************
3 *
4 * Copyright (C) 2004 - 2024 by Willem van Straten
5 * Licensed under the Academic Free License version 2.1
6 *
7 ***************************************************************************/
8
9// psrchive/More/General/Pulsar/DispersionDelay.h
10
11#ifndef __Pulsar_DispersionDelay_H
12#define __Pulsar_DispersionDelay_H
13
14#include "Estimate.h"
15
16namespace Pulsar {
17
19
31
33
34 const double dispersion_constant = 2.41e-4;
35
36 class DispersionDelay {
37
38 public:
39
41 DispersionDelay ();
42
44 void set_dispersion_measure (const double dispersion_measure);
46 double get_dispersion_measure () const;
47
49 void set_reference_frequency (double MHz);
51 double get_reference_frequency () const;
52
54 void set_frequency (double MHz);
56 double get_frequency () const;
57
59 void set_reference_wavelength (double metres);
61 double get_reference_wavelength () const;
62
64 void set_wavelength (double metres);
66 double get_wavelength () const;
67
69 double evaluate () const;
70
72 typedef double Return;
74 void set_measure (double dispersion_measure);
76 double get_measure () const;
77
78 // given an estimate of the slope \f$ dt / d lambda^2 \f$ in \f$ s m^{-2} \f$, return the DM
79 Estimate<double> get_dispersion_measure(const Estimate<double>& slope) const;
80
81 protected:
82
84 double dispersion_measure;
85
87 double reference_wavelength;
88
90 double wavelength;
91
92 };
93
94}
95
96#endif
Defines the PSRCHIVE library.
Definition CalSource.h:17
const double dispersion_constant
Computes the dispersion delay.
Definition DispersionDelay.h:34

Generated using doxygen 1.14.0