HOPS
HOPS class reference
pstruct.h
Go to the documentation of this file.
1 #ifndef PSTRUCT_H
2 #define PSTRUCT_H
3  /* Various plotting mode definitions */
4 #define Y_SINGLE 1
5 #define Y_MULTIPLE 2
6 #define SOURCE_NOSPLIT 0
7 #define SOURCE_SPLIT 01
8  /* Plotted point quality indicators */
9 #define PQ_GOOD 0
10 #define PQ_SUSPECT 1
11 #define PQ_BAD 2
12 
13 #define STATION_PLOT 01 /* Identified families of axes below */
14 #define BASELINE_PLOT 02
15 #define TRIANGLE_PLOT 04
16 #define QUAD_PLOT 010
17 #define ALL_PLOT 020
18 #define ANY_PLOT 037
19  /* Used for station-based quantities */
20  /* in baseline-based plots */
21 #define REFERENCE 0
22 #define REMOTE 1
23  /* Axis IDs, with default plot mode */
24 #define NO_AXIS -1
25 
26 #define AX_TIMETAG 0 /* By any */
27 
28 #define AX_PCAL_PHASE 100 /* By station (1st 4 extracted params only, */
29 #define AX_PCAL_DIFF 101 /* ref and remote in aux input variable) */
30 #define AX_PCAL_AMP 102
31 #define AX_ERRORATE 103
32 #define AX_ELEVATION 104
33 #define AX_AZIMUTH 105
34 
35 #define AX_SNR 201 /* By baseline */
36 #define AX_AMPLITUDE 202
37 #define AX_PHASE 203
38 #define AX_SBDELAY 204
39 #define AX_MBDELAY 205
40 #define AX_DRATE 206
41 #define AX_NCOTIME 207
42 #define AX_SCOTIME 208
43 
44 #define AX_CPHASE 300 /* By triangle */
45 #define AX_CRATE 301
46 #define AX_CSBDELAY 302
47 #define AX_CMBDELAY 303
48 
49 #define AX_CAMP 400 /* By quad */
50 
51 #define AX_U 500 /* By all */
52 #define AX_V 501
53 #define AX_UVDIST 502
54 
55 #define AX_PARAMETER 600 /* parameter number in aux input variable */
56 
57 #define MAXPLT 2000 /* Max # of points in single plot, */
58  /* applies separately to the 3 qualities */
59  /* of plotted points */
60 #define NSYMBOL 11
61 
62 struct plot_info
63  {
64  int npts; /* Total number of points plotted */
65  int ngood; /* # of good points in this plot */
66  int nsusp; /* # of suspect points in this plot */
67  int nbad; /* # of bad points in this plot */
68  int nbadscale; /* # of points off scale, omitted */
69  int xebar; /* Are X error bars plotted? */
70  int yebar; /* Are Y error bars plotted? */
71  int onscreen; /* Visible on interactive screen? */
72  int plotby; /* By station, baseline, whatever? */
73  int xaind; /* Variable plotted on X axis */
74  int x_aux; /* Auxiliary field for parms */
75  char xtype[30]; /* Variable plotted on X axis */
76  int yaind; /* Variable plotted on Y axis */
77  int y_aux; /* Auxiliary field for parms */
78  char ytype[30]; /* Variable plotted on Y axis */
79  float xmax; /* X-axis value extrema */
80  float xmin;
81  float ymax; /* Y-axis value extrema */
82  float ymin;
83  int toffset; /* For time axes .. avoids f.p. roundoff */
84  float vport[4]; /* Viewport in normalized device coords */
85  float window[4]; /* World coordinate extrema of viewport */
86  int index[MAXPLT]; /* Indices of all points in data arrays */
87  char symbol[MAXPLT]; /* Point-by-point PGPLOT symbol used */
88  char frq; /* Frequency code plotted */
89  int expt; /* Experiment number plotted */
90  char source[32]; /* Source name (if applicable) */
91  char station; /* Station plotted */
92  char bas[3]; /* Baseline plotted */
93  char triangle[4]; /* Stations in closure triangle */
94  char ampcl[5]; /* Stations in closure amplitude quad */
95  };
96 
97 struct plot_ptqual
98  {
99  float x[MAXPLT]; /* X-axis values */
100  float y[MAXPLT]; /* Y-axis values */
101  float xerrh[MAXPLT]; /* upper extent of X error bar */
102  float xerrl[MAXPLT]; /* lower extent of X error bar */
103  float yerrh[MAXPLT]; /* upper extent of Y error bar */
104  float yerrl[MAXPLT]; /* lower extent of Y error bar */
105  };
106 
107 struct plot_points
108  {
109  struct plot_ptqual good; /* Contains info for good points */
110  struct plot_ptqual suspect; /* Contains info for suspect points */
111  struct plot_ptqual bad; /* Contains info for bad points */
112  };
113 
114 #endif /* PSTRUCT_H */
#define MAXPLT
Definition: pstruct.h:57
float xmin
Definition: pstruct.h:80
int xaind
Definition: pstruct.h:73
float xmax
Definition: pstruct.h:79
int plotby
Definition: pstruct.h:72
char station
Definition: pstruct.h:91
int toffset
Definition: pstruct.h:83
int y_aux
Definition: pstruct.h:77
float window[4]
Definition: pstruct.h:85
int ngood
Definition: pstruct.h:65
struct plot_ptqual suspect
Definition: pstruct.h:110
float yerrl[MAXPLT]
Definition: pstruct.h:104
struct plot_ptqual bad
Definition: pstruct.h:111
float y[MAXPLT]
Definition: pstruct.h:100
char frq
Definition: pstruct.h:88
float yerrh[MAXPLT]
Definition: pstruct.h:103
float vport[4]
Definition: pstruct.h:84
int index[MAXPLT]
Definition: pstruct.h:86
int nbadscale
Definition: pstruct.h:68
int nbad
Definition: pstruct.h:67
int x_aux
Definition: pstruct.h:74
char ytype[30]
Definition: pstruct.h:78
int yebar
Definition: pstruct.h:70
char triangle[4]
Definition: pstruct.h:93
float ymin
Definition: pstruct.h:82
float xerrl[MAXPLT]
Definition: pstruct.h:102
float xerrh[MAXPLT]
Definition: pstruct.h:101
struct plot_ptqual good
Definition: pstruct.h:109
int onscreen
Definition: pstruct.h:71
float x[MAXPLT]
Definition: pstruct.h:99
char bas[3]
Definition: pstruct.h:92
char xtype[30]
Definition: pstruct.h:75
float ymax
Definition: pstruct.h:81
char ampcl[5]
Definition: pstruct.h:94
char symbol[MAXPLT]
Definition: pstruct.h:87
int npts
Definition: pstruct.h:64
int nsusp
Definition: pstruct.h:66
char source[32]
Definition: pstruct.h:90
int expt
Definition: pstruct.h:89
int yaind
Definition: pstruct.h:76
int xebar
Definition: pstruct.h:69
Definition: pstruct.h:63
Definition: pstruct.h:108
Definition: pstruct.h:98