HOPS
HOPS class reference
MHO_DiFXVisibilityRecord.hh
Go to the documentation of this file.
1 #ifndef MHO_DiFXVisibilityRecord_HH__
2 #define MHO_DiFXVisibilityRecord_HH__
3 
4 #include <complex>
5 #include <cstdint>
6 #include <cstring>
7 #include <vector>
8 
9 namespace hops
10 {
11 
24 {
25  public:
27 
29  {
30  nchan = copy.nchan;
31  visnum = copy.visnum;
32  sync = copy.sync;
34  baseline = copy.baseline;
35  mjd = copy.mjd;
36  seconds = copy.seconds;
37  configindex = copy.configindex;
38  sourceindex = copy.sourceindex;
39  freqindex = copy.freqindex;
40  memcpy(polpair, copy.polpair, 3);
41  pulsarbin = copy.pulsarbin;
42  dataweight = copy.dataweight;
43  memcpy(uvw, copy.uvw, 3 * sizeof(double));
44  visdata = copy.visdata;
45 
46  bandwidth = copy.bandwidth;
47  sky_freq = copy.sky_freq;
48  freq_band = copy.freq_band;
50  };
51 
53 
57  void Reset()
58  {
59  nchan = 0;
60  visnum = 0;
61  sync = 0;
62  headerversion = 0;
63  baseline = 0;
64  mjd = 0;
65  seconds = 0.0;
66  configindex = 0;
67  sourceindex = 0;
68  freqindex = 0;
69  polpair[0] = '\0';
70  polpair[1] = '\0';
71  polpair[2] = '\0';
72  pulsarbin = 0;
73  dataweight = 0.0;
74  uvw[0] = 0.0;
75  uvw[1] = 0.0;
76  uvw[2] = 0.0;
77  visdata.clear();
78 
79  bandwidth = 0.0;
80  sky_freq = 0.0;
81  ;
82  freq_band = "";
83  net_sideband = "";
84  }
85 
86  //we leave the members public --- taken from directly from DifxVisRecord;
87 
88  int nchan;
89  int visnum;
90  int sync;
92  int baseline;
93  int mjd;
94  double seconds;
97  int freqindex;
98  char polpair[3];
99  int pulsarbin;
100  double dataweight;
101  double uvw[3];
102  std::vector< std::complex< float > > visdata;
104  //these are extra parameters that we will fill in when/if we have the info
105  double bandwidth;
106  double sky_freq;
107  std::string freq_band;
108  std::string net_sideband;
109 };
110 
111 
116 typedef union
117 {
118  float values[2];
119  int32_t sync_test[2];
121 
122 } // namespace hops
123 
124 #endif
Class MHO_DiFXVisibilityRecord.
Definition: MHO_DiFXVisibilityRecord.hh:24
int mjd
Definition: MHO_DiFXVisibilityRecord.hh:93
std::vector< std::complex< float > > visdata
Definition: MHO_DiFXVisibilityRecord.hh:102
int sync
Definition: MHO_DiFXVisibilityRecord.hh:90
int baseline
Definition: MHO_DiFXVisibilityRecord.hh:92
double bandwidth
Definition: MHO_DiFXVisibilityRecord.hh:105
int pulsarbin
Definition: MHO_DiFXVisibilityRecord.hh:99
double uvw[3]
Definition: MHO_DiFXVisibilityRecord.hh:101
double seconds
Definition: MHO_DiFXVisibilityRecord.hh:94
int nchan
Definition: MHO_DiFXVisibilityRecord.hh:88
int sourceindex
Definition: MHO_DiFXVisibilityRecord.hh:96
MHO_DiFXVisibilityRecord()
Definition: MHO_DiFXVisibilityRecord.hh:26
double sky_freq
Definition: MHO_DiFXVisibilityRecord.hh:106
int configindex
Definition: MHO_DiFXVisibilityRecord.hh:95
int headerversion
Definition: MHO_DiFXVisibilityRecord.hh:91
void Reset()
Resets the state of the object to its initial values.
Definition: MHO_DiFXVisibilityRecord.hh:57
virtual ~MHO_DiFXVisibilityRecord()
Definition: MHO_DiFXVisibilityRecord.hh:52
std::string net_sideband
Definition: MHO_DiFXVisibilityRecord.hh:108
int visnum
Definition: MHO_DiFXVisibilityRecord.hh:89
MHO_DiFXVisibilityRecord(const MHO_DiFXVisibilityRecord &copy)
Definition: MHO_DiFXVisibilityRecord.hh:28
char polpair[3]
Definition: MHO_DiFXVisibilityRecord.hh:98
double dataweight
Definition: MHO_DiFXVisibilityRecord.hh:100
std::string freq_band
Definition: MHO_DiFXVisibilityRecord.hh:107
int freqindex
Definition: MHO_DiFXVisibilityRecord.hh:97
Definition: MHO_ChannelLabeler.hh:17
Class (anonymous union) - helper union used for reading in visibility records to catch over-runs with...
Definition: MHO_DiFXVisibilityRecord.hh:117