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