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

transfer.h

Go to the documentation of this file.
00001 /*
00002  *   THIS FILE IS UNDER RCS - DO NOT MODIFY UNLESS YOU HAVE
00003  *   CHECKED IT OUT USING THE COMMAND CHECKOUT.
00004  *
00005  *    $Id:
00006  *
00007  *    Revision history:
00008  *     $Log:
00009  *
00010  *
00011  *
00012  */
00013 
00014 /* transfer.h: header for transfer.c */
00015 
00016 #ifndef TRANSFER_H
00017 #define TRANSFER_H
00018 
00019 /* 
00020  * The structures describing transfer functions in pole-zero-gain form.
00021  * These are nearly identical to the structures in sachead.h but with
00022  * different names. Also, here we use pointers to the Poles and Zeros
00023  * arrays which are not pre-allocated; in case we want more than sac.
00024  * Perhaps the sachead structures can be changed to use these names.
00025  */
00026 
00027 typedef struct _PZNum
00028 {
00029   double      dReal;
00030   double      dImag;
00031 } PZNum;
00032 
00033 typedef struct _ResponseStruct
00034 {
00035   double    dGain;
00036   int         iNumPoles;
00037   int         iNumZeros;
00038   PZNum  *Poles;
00039   PZNum  *Zeros;
00040 } ResponseStruct;
00041 
00042 /* Debug levels */
00043 /*                poles. zeros, and gain */
00044 #define TR_DBG_PZG   1<<0
00045 /*                Trial response function */
00046 #define TR_DBG_TRS   1<<1
00047 /*                Actual response function */
00048 #define TR_DBG_ARS   1<<2
00049 
00050 
00051 /* Function prototypes: */
00052 void response(long, double, ResponseStruct *, double *, double *);
00053 int readPZ( char *, ResponseStruct * );
00054 double ftaper(double, double, double);
00055 void taper(double *, long, long);
00056 int convertWave(double *, long, double, ResponseStruct *, ResponseStruct *, 
00057                 double *, int, long *, long *, double *, long, double *, 
00058                 double *);
00059 int respLen( ResponseStruct *, double, double *);
00060 void deMean( double *, long, double *);
00061 void cleanPZ( ResponseStruct *);
00062 void pzCancel(ResponseStruct *, double);
00063 void transferDebug( int );
00064 #endif
00065 
00066 
00067 
00068 

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