RFIMitigation.h
1/***************************************************************************
2 *
3 * Copyright (C) 2003 by Aidan Hotan
4 * Licensed under the Academic Free License version 2.1
5 *
6 ***************************************************************************/
7
8#include <vector>
9
10namespace Pulsar {
11
12 class Archive;
13 class Integration;
14
15 class RFIMitigation {
16
17 public:
18
19 // Null constructor
20 RFIMitigation () { init(); }
21
22 // Destructor
23 ~RFIMitigation ();
24
25 // Run through an archive, setting the weights arrays in each subint
26 // according to an automated bad point detection algorithm
27 void zap_chans (Pulsar::Archive* arch);
28
29 // Manually set specific channel weights to zero
30 void zap_specific (Pulsar::Archive* arch, std::vector<float> mask);
31
32 // Manually set specific channel weights in specific subints to zero
33 void zap_very_specific (Pulsar::Archive* arch, std::vector<float> mask,
34 std::vector<unsigned> subs);
35
36 private:
37
38 // Set the weights array in a Pulsar::Integration to zap strong birdies
39 std::vector<float> zap_mask (Pulsar::Integration* integ);
40
41 // Apply a zap mask to a Pulsar::Integration
42 void apply_mask (Pulsar::Integration* integ, std::vector<float> mask);
43
44 // Initialise the class
45 void init ();
46
47 };
48
49}
50
The primary interface to pulsar observational data.
Definition Archive.h:46
Array of Profiles integrated over the same time interval.
Definition Integration.h:37
Defines the PSRCHIVE library.
Definition CalSource.h:17

Generated using doxygen 1.14.0