source: trunk/include/ahhead.h @ 5054

Revision 514, 3.4 KB checked in by lombard, 17 years ago (diff)

reorgainized to put the format-specific header items in *head.h
and the putaway-specific items in *putaway.h, of which there
currently is only sacputaway.h
Function protoypes used by putaway.c moved to pa_subs.h

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1
2/*
3 *   THIS FILE IS UNDER RCS - DO NOT MODIFY UNLESS YOU HAVE
4 *   CHECKED IT OUT USING THE COMMAND CHECKOUT.
5 *
6 *    $Id$
7 *
8 *    Revision history:
9 *     $Log$
10 *     Revision 1.3  2001/04/12 03:03:08  lombard
11 *     reorgainized to put the format-specific header items in *head.h
12 *     and the putaway-specific items in *putaway.h, of which there
13 *     currently is only sacputaway.h
14 *     Function protoypes used by putaway.c moved to pa_subs.h
15 *
16 *     Revision 1.2  2000/03/09 21:54:36  davidk
17 *     Added function prototypes for the ah putaway routines, so that
18 *     users of the ahputaway routines would not get compile warnings.
19 *
20 *     Revision 1.1  2000/02/14 20:05:54  lucky
21 *     Initial revision
22 *
23 *
24 */
25
26#ifndef AHHEAD_H
27#define AHHEAD_H
28
29#define AHUNDEF        -12345  /* undefined value -- withers 8/98*/
30
31
32/*      structure for data file header  --      witte, 11 June 85       */
33
34#define AHHEADSIZE 1024
35#define CODESIZE 6
36#define CHANSIZE 6
37#define STYPESIZE 8
38#define COMSIZE 80
39#define TYPEMIN 1
40#define TYPEMAX 6
41#define LOGSIZE 202
42#define LOGENT 10
43#define NEXTRAS 21
44#define NOCALPTS 30
45
46typedef struct {
47  float x;
48  float y;
49} vector;
50
51typedef struct {
52  float r;
53  float i;
54} complex;
55
56typedef struct {
57  double r;
58  double i;
59} d_complex;
60
61typedef struct {
62  float xx;
63  float yy;
64  float xy;
65} tensor;
66
67struct ah_time {
68  short         yr;     /* year         */
69  short         mo;     /* month        */
70  short         day;    /* day          */
71  short         hr;     /* hour         */
72  short         mn;     /* minute       */
73  float         sec;    /* second       */
74};
75
76struct calib {
77  complex               pole;   /* pole         */
78  complex               zero;   /* zero         */
79};
80
81struct station_info {
82  char          code[CODESIZE]; /* station code         */
83  char          chan[CHANSIZE]; /* lpz,spn, etc.        */
84  char          stype[STYPESIZE];/* wwssn,hglp,etc.     */
85  float         slat;           /* station latitude     */
86  float         slon;           /*    "    longitude    */
87  float         elev;           /*    "    elevation    */
88  float         DS;     /* gain */
89  float         A0;     /* normalization */
90  struct        calib   cal[NOCALPTS];  /* calibration info     */
91};
92
93struct event_info {
94  float         lat;            /* event latitude       */
95  float         lon;            /*   "   longitude      */
96  float         dep;            /*   "   depth          */
97  struct        ah_time ot;             /*   "   origin time    */
98  char          ecomment[COMSIZE];      /*      comment line    */
99};
100
101struct record_info {
102  short         type;   /* data type (int,float,...)    */
103  long          ndata;  /* number of samples            */
104  float         delta;  /* sampling interval            */
105  float         maxamp; /* maximum amplitude of record  */
106  struct        ah_time abstime;/* start time of record section */
107  float         rmin;   /* minimum value of abscissa    */
108  char          rcomment[COMSIZE];      /* comment line         */
109  char          log[LOGSIZE]; /* log of data manipulations */
110};
111
112typedef struct {
113  struct        station_info    station;        /* station info */
114  struct        event_info      event;          /* event info   */
115  struct        record_info     record;         /* record info  */
116  float         extra[NEXTRAS]; /* freebies */
117} ahhed;
118
119
120#define FLOAT   1
121#define COMPLEX 2
122#define VECTOR  3
123#define TENSOR  4
124#define DOUBLE  6
125
126
127#endif
Note: See TracBrowser for help on using the repository browser.