PatchFrequency.h
1//-*-C++-*-
2/***************************************************************************
3 *
4 * Copyright (C) 2016 by Paul Demorest
5 * Licensed under the Academic Free License version 2.1
6 *
7 ***************************************************************************/
8
9#ifndef _Pulsar_PatchFrequency_H
10#define _Pulsar_PatchFrequency_H
11
12#include <vector>
13#include "Pulsar/Algorithm.h"
14
15namespace Pulsar {
16
17 class Archive;
18 class Integration;
19
21 class PatchFrequency : public Algorithm
22 {
23
24 public:
25
28
30 void operate (Archive* A, Archive* B);
31
33 void set_frequency_tolerance (double tol) { freq_tol = tol; }
34
35 protected:
36
37 double freq_tol;
38
39 // Add channels to the integration
40 void add_channels (Integration *into,
41 std::vector<double> frequencies) const;
42
43 // Add channels to the integration
44 void add_channels (Archive *into,
45 std::vector<double> frequencies) const;
46
47 };
48
49}
50
51#endif
Data manipulation implementations.
Definition Algorithm.h:19
The primary interface to pulsar observational data.
Definition Archive.h:46
Array of Profiles integrated over the same time interval.
Definition Integration.h:37
PatchFrequency()
Default constructor.
Definition PatchFrequency.C:20
void add_channels(Integration *into, std::vector< double > frequencies) const
Add new zero-weighted profiles with the specified frequencies.
Definition PatchFrequency.C:27
void operate(Archive *A, Archive *B)
Add to A whatever is missing with respect to B, and vice versa.
Definition PatchFrequency.C:62
void set_frequency_tolerance(double tol)
Set the tolerance for matching frequencies (MHz)
Definition PatchFrequency.h:33
Defines the PSRCHIVE library.
Definition CalSource.h:17

Generated using doxygen 1.14.0