Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

ahhead.h

Go to the documentation of this file.
00001 
00002 /*
00003  *   THIS FILE IS UNDER RCS - DO NOT MODIFY UNLESS YOU HAVE
00004  *   CHECKED IT OUT USING THE COMMAND CHECKOUT.
00005  *
00006  *    $Id: ahhead_8h-source.html 2161 2006-05-19 16:55:03Z paulf $
00007  *
00008  *    Revision history:
00009  *     $Log$
00009  *     Revision 1.1  2006/05/19 16:55:01  paulf
00009  *     first inclusion
00009  *
00010  *     Revision 1.3  2001/04/12 03:03:08  lombard
00011  *     reorgainized to put the format-specific header items in *head.h
00012  *     and the putaway-specific items in *putaway.h, of which there
00013  *     currently is only sacputaway.h
00014  *     Function protoypes used by putaway.c moved to pa_subs.h
00015  *
00016  *     Revision 1.2  2000/03/09 21:54:36  davidk
00017  *     Added function prototypes for the ah putaway routines, so that
00018  *     users of the ahputaway routines would not get compile warnings.
00019  *
00020  *     Revision 1.1  2000/02/14 20:05:54  lucky
00021  *     Initial revision
00022  *
00023  *
00024  */
00025 
00026 #ifndef AHHEAD_H
00027 #define AHHEAD_H
00028 
00029 #define AHUNDEF        -12345  /* undefined value -- withers 8/98*/
00030 
00031 
00032 /*      structure for data file header  --      witte, 11 June 85       */
00033 
00034 #define AHHEADSIZE 1024
00035 #define CODESIZE 6
00036 #define CHANSIZE 6
00037 #define STYPESIZE 8
00038 #define COMSIZE 80
00039 #define TYPEMIN 1
00040 #define TYPEMAX 6
00041 #define LOGSIZE 202
00042 #define LOGENT 10
00043 #define NEXTRAS 21
00044 #define NOCALPTS 30
00045 
00046 typedef struct {
00047   float x;
00048   float y;
00049 } vector;
00050 
00051 typedef struct {
00052   float r;
00053   float i;
00054 } complex;
00055 
00056 typedef struct {
00057   double r;
00058   double i;
00059 } d_complex;
00060 
00061 typedef struct {
00062   float xx;
00063   float yy;
00064   float xy;
00065 } tensor;
00066 
00067 struct ah_time {
00068   short         yr;     /* year         */
00069   short         mo;     /* month        */
00070   short         day;    /* day          */
00071   short         hr;     /* hour         */
00072   short         mn;     /* minute       */
00073   float         sec;    /* second       */
00074 };
00075 
00076 struct calib {
00077   complex               pole;   /* pole         */
00078   complex               zero;   /* zero         */
00079 };
00080 
00081 struct station_info {
00082   char          code[CODESIZE]; /* station code         */
00083   char          chan[CHANSIZE]; /* lpz,spn, etc.        */
00084   char          stype[STYPESIZE];/* wwssn,hglp,etc.     */
00085   float         slat;           /* station latitude     */
00086   float         slon;           /*    "    longitude    */
00087   float         elev;           /*    "    elevation    */
00088   float         DS;     /* gain */
00089   float         A0;     /* normalization */
00090   struct        calib   cal[NOCALPTS];  /* calibration info     */
00091 };
00092 
00093 struct event_info {
00094   float         lat;            /* event latitude       */
00095   float         lon;            /*   "   longitude      */
00096   float         dep;            /*   "   depth          */
00097   struct        ah_time ot;             /*   "   origin time    */
00098   char          ecomment[COMSIZE];      /*      comment line    */
00099 };
00100 
00101 struct record_info {
00102   short         type;   /* data type (int,float,...)    */
00103   long          ndata;  /* number of samples            */
00104   float         delta;  /* sampling interval            */
00105   float         maxamp; /* maximum amplitude of record  */
00106   struct        ah_time abstime;/* start time of record section */
00107   float         rmin;   /* minimum value of abscissa    */
00108   char          rcomment[COMSIZE];      /* comment line         */
00109   char          log[LOGSIZE]; /* log of data manipulations */
00110 };
00111 
00112 typedef struct {
00113   struct        station_info    station;        /* station info */
00114   struct        event_info      event;          /* event info   */
00115   struct        record_info     record;         /* record info  */
00116   float         extra[NEXTRAS]; /* freebies */
00117 } ahhed;
00118 
00119 
00120 #define FLOAT   1
00121 #define COMPLEX 2
00122 #define VECTOR  3
00123 #define TENSOR  4
00124 #define DOUBLE  6
00125 
00126 
00127 #endif

Generated on Tue May 6 09:15:59 2003 for Earthworm Libs by doxygen1.3-rc3