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 ! */
11 struct 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 
41 polns = 1: (1,2,3,...bins)*(1,2,...chsbd<=8)*(1,2,...bds<=8)
42 polns = 2: (1,2,3,...bins)*(1,2,...chsbd<=4)*(2)*(1,2,...bds<=8)
43 polns = 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
Defines the PSRCHIVE library.
Definition: CalSource.h:17

Generated using doxygen 1.8.17