bpp_header.h
1/* header.h - CDRP header for sun c code */
2/* 94jun12 - md - created */
3/* 94jun17 - dcb - modified V1.0 */
4/* 07dec03 - pbd - Updated for 64-bit machines: changed all longs
5 * to int32_t (this should be portable). */
6
7#ifndef __BPP_HEADER_H
8#define __BPP_HEADER_H
9
10/* note this is aligned for the SUN, the PC must align the same way ! */
11struct bpp_header {
12 char version[4]; /* of header/data format */
13 int32_t telescope; /* corresponds to xyz data file*/
14
15 char pulsar_name[10]; /* J or B */
16 char dummy1[6];
17 double apparent_period; /* [s] at mid scan */
18 double dispersion_measure; /* pc cm**-3 */
19
20 int32_t scan_number;
21 int32_t crate_id; /* 0->3 */
22 int32_t year; /* [year or 0 if JD] start time*/
23 int32_t day; /* [yearday or JD] start time */
24 int32_t seconds; /* [s] start time */
25 char dummy2[4];
26 double second_fraction; /* [s] start time */
27
28 double RF_of_chan_0; /* [Hz] RF of IF_0 + SRAM_0 */
29 double bandwidth; /* [Hz] apparent bandwidth */
30 double integration_time; /* [s] */
31 int32_t bins; /* samples per period
32 1<bins<1024 */
33 int32_t bds; /* boards in use */
34 int32_t chsbd; /* channels per board */
35 int32_t polns; /* polarizations (1, 2 or 4) */
36
37/* data formats:
38
39 1<chsbd*bds<32 (or 64 in S mode which has polns=1)
40
41polns = 1: (1,2,3,...bins)*(1,2,...chsbd<=8)*(1,2,...bds<=8)
42polns = 2: (1,2,3,...bins)*(1,2,...chsbd<=4)*(2)*(1,2,...bds<=8)
43polns = 4: (1,2,3,...bins)*(1,2,...chsbd<=4)*(4)*(1,2,...bds<=8)
44*/
45
46 double IF0_gain; /* [dB] */
47 double IF1_gain; /* [dB] */
48 double IF2_gain; /* [dB] */
49 double IF3_gain; /* [dB] */
50
51 char modes[4]; /* 1: Polarizations
52 P - 4, parallel and cross
53 I - 2, parallel only
54 S - 1, single IF
55 V - 1, voltage data
56 2: IF frequency inversion
57 D - direct
58 I - inverted
59 3: Observing mode
60 O - observation
61 C - noise calibration
62 S - standard source
63 4: Spare */
64 char enabled_DBs[8]; /* U - in use; D - not in use */
65 char SRAM_bytes[4];
66 char HARRIS_bytes[4];
67 char PULFIR_bytes[4];
68
69 double RF_of_IFcenter_0; /* [Hz] */
70 double RF_of_IFcenter_1; /* [Hz] */
71 double RF_of_IFcenter_2; /* [Hz] */
72 double RF_of_IFcenter_3; /* [Hz] */
73 double SRAM_base_freq; /* [Hz] LO of channel 0 on FBs */
74 double SRAM_freq_incr; /* [Hz] spacing between FB LOs */
75
76 int32_t bytes; /* number of data bytes follow */
77 char dummy4[4];
78};
79
80
81#endif

Generated using doxygen 1.14.0