00001 /* Copyright (c) Colorado School of Mines, 2006.*/ 00002 /* All rights reserved. */ 00003 00004 /* tapebhdr.h - include file for SEGY-defined binary header 00005 * 00006 * Reference: 00007 * K. M. Barry, D. A. Cavers and C. W. Kneale, "Special Report: 00008 * Recommended Standards for Digital Tape Formats", 00009 * Geophysics, vol. 40, no. 2 (April 1975), P. 344-352. 00010 * 00011 * $Author: john $ 00012 * $Source: /usr/local/cwp/src/su/include/RCS/tapebhdr.h,v $ 00013 * $Revision: 1.2 $ ; $Date: 1996/09/09 17:11:01 $ 00014 */ 00015 00016 #ifndef TAPEBHDR_H 00017 #define TAPEBHDR_H 00018 00019 typedef struct { /* bhedtape - binary header */ 00020 00021 unsigned int jobid:32; /* job identification number */ 00022 00023 unsigned int lino:32; /* line number (only one line per reel) */ 00024 00025 unsigned int reno:32; /* reel number */ 00026 00027 unsigned int ntrpr:16; /* number of data traces per record */ 00028 00029 unsigned int nart:16; /* number of auxiliary traces per record */ 00030 00031 unsigned int hdt:16; /* sample interval (microsecs) for this reel */ 00032 00033 unsigned int dto:16; /* same for original field recording */ 00034 00035 unsigned int hns:16; /* number of samples per trace for this reel */ 00036 00037 unsigned int nso:16; /* same for original field recording */ 00038 00039 unsigned int format:16; /* data sample format code: 00040 1 = floating point (4 bytes) 00041 2 = fixed point (4 bytes) 00042 3 = fixed point (2 bytes) 00043 4 = fixed point w/gain code (4 bytes) */ 00044 00045 unsigned int fold:16; /* CDP fold expected per CDP ensemble */ 00046 00047 unsigned int tsort:16; /* trace sorting code: 00048 1 = as recorded (no sorting) 00049 2 = CDP ensemble 00050 3 = single fold continuous profile 00051 4 = horizontally stacked */ 00052 00053 unsigned int vscode:16; /* vertical sum code: 00054 1 = no sum 00055 2 = two sum ... 00056 N = N sum (N = 32,767) */ 00057 00058 unsigned int hsfs:16; /* sweep frequency at start */ 00059 00060 unsigned int hsfe:16; /* sweep frequency at end */ 00061 00062 unsigned int hslen:16; /* sweep length (ms) */ 00063 00064 unsigned int hstyp:16; /* sweep type code: 00065 1 = linear 00066 2 = parabolic 00067 3 = exponential 00068 4 = other */ 00069 00070 unsigned int schn:16; /* trace number of sweep channel */ 00071 00072 unsigned int hstas:16; /* sweep trace taper length at start if 00073 tapered (the taper starts at zero time 00074 and is effective for this length) */ 00075 00076 unsigned int hstae:16; /* sweep trace taper length at end (the ending 00077 taper starts at sweep length minus the taper 00078 length at end) */ 00079 00080 unsigned int htatyp:16; /* sweep trace taper type code: 00081 1 = linear 00082 2 = cos-squared 00083 3 = other */ 00084 00085 unsigned int hcorr:16; /* correlated data traces code: 00086 1 = no 00087 2 = yes */ 00088 00089 unsigned int bgrcv:16; /* binary gain recovered code: 00090 1 = yes 00091 2 = no */ 00092 00093 unsigned int rcvm:16; /* amplitude recovery method code: 00094 1 = none 00095 2 = spherical divergence 00096 3 = AGC 00097 4 = other */ 00098 00099 unsigned int mfeet:16; /* measurement system code: 00100 1 = meters 00101 2 = feet */ 00102 00103 unsigned int polyt:16; /* impulse signal polarity code: 00104 1 = increase in pressure or upward 00105 geophone case movement gives 00106 negative number on tape 00107 2 = increase in pressure or upward 00108 geophone case movement gives 00109 positive number on tape */ 00110 00111 unsigned int vpol:16; /* vibratory polarity code: 00112 code seismic signal lags pilot by 00113 1 337.5 to 22.5 degrees 00114 2 22.5 to 67.5 degrees 00115 3 67.5 to 112.5 degrees 00116 4 112.5 to 157.5 degrees 00117 5 157.5 to 202.5 degrees 00118 6 202.5 to 247.5 degrees 00119 7 247.5 to 292.5 degrees 00120 8 293.5 to 337.5 degrees */ 00121 00122 unsigned char hunass[340]; /* unassigned */ 00123 00124 } tapebhed; 00125 00126 /* FUNCTION PROTOTYPES */ 00127 #ifdef __cplusplus /* if C++, specify external linkage to C functions */ 00128 extern "C" { 00129 #endif 00130 00131 void gettapebhval(const tapebhed *tapetr, int index, Value *valp); 00132 void puttapebhval(tapebhed *tapetr, int index, Value *valp); 00133 00134 #ifdef __cplusplus /* if C++, end external linkage specification */ 00135 } 00136 #endif 00137 00138 #endif /* end TAPEBHDR_H */