/* ======== IGeoS ===== Distribition full ===== IGeoS ========= ** ** templ1e.h : Created by 'seisweb' on Wed Apr 1 17:31:52 2020 ** ** Product : IGeoS - Integrated Geoscience Software ** ** Description : System for seismic, well log, and potential-field data analysis ** ** =================== Limited License: =================================== ** ** This software is provided free under the following terms and conditions: ** ** 1. Permission to use, copy, and modify this software ** for non-commercial purposes without fee is hereby granted, provided ** that this copyright notice, the warranty disclaimer, and this ** permission notice appear in all copies. ** ** 2. Distribution of this software or any part of it "bundled" in with ** any product is considered to be a 'commercial purpose'. ** ** 3. Any new or adapted code developed to operate as a part of this ** software shall be contributed to the authors and distributed under ** the same license. ** ** ================== Warranty Disclaimer: ================================ ** ** This software is provided "as is", with no support and without ** obligation on the part of the author to assist in its use, correction, ** modification, or enhancement. No guarantees or warranties, ** either express or implied, and regarding the accuracy, safety, or ** fitness for any particular purpose are provided by any contributor ** to this software package. ** ** ======== IGeoS ===== Distribition full ===== IGeoS ========= */ /* ========= S - I - A === S - I - A === S - I - A === S - I - A ========== ** ** templ1e.h: Created by 'seisweb' on Fri Oct 20 19:19:50 2006 ** This file is a part of SIA distribution 'full' ** ** Copyright (c) 1995-2006, Igor Morozov, all rights reserved ** ** =================== Limited License: =================================== ** This software is provided free under the following terms and conditions: ** ** 1. Permission to use, copy, and modify this software ** for non-commercial purposes without fee is hereby granted, provided ** that this copyright notice, the warranty disclaimer, and this ** permission notice appear in all copies. ** ** 2. Distribution of this software or any part of it "bundled" in with ** any product is considered to be a 'commercial purpose'. ** ** 3. Any new or adapted code developed to operate as a part of this ** software shall be contributed to the authors and distributed under ** the same license. ** ** ================== Warranty Disclaimer: ================================ ** This software is provided "as is", with no support and without ** obligation on the part of the author to assist in its use, correction, ** modification, or enhancement. No guarantees or warranties, ** either express or implied, and regarding the accuracy, safety, or ** fitness for any particular purpose are provided by any contributor ** to this software package. ** ** ========= S - I - A ========== S - I - A ========== S - I - A ========== */ #ifndef MOD_TEMPL1E #define MOD_TEMPL1E #include "sia_module.C.h" #include "sia_fft.h" // needed for Fast Fourier Transforms /*-------------------------------------------------------------------- This template blocks the processing of this module until a complete trace ensembble is accumulated at its input. When the ensemble is complete, the Process Phase (schematically) prformes a double loop through the traces as if to calculate cross-correlations. --------------------------------------------------------------------*/ struct TEMPL1E : public SIA_MODULE { TEMPL1E(); HEADER_PARAM param1; // parameter obtained from the job or trace // These parameters usually correspond to those // listed in .mpar file. // Rename and add more as needed AHEADER out_header; // field used to output the result (pick) into trace // headers void read_params(); // read the parameters from the global list of job file double time_shift( TRACE *t1, TRACE *t2 ); // measure the time shift of t2 relative to t1 boolean proc( ENSEMBLE *t ); // process one ensemble CHARSTR module_name( boolean active ); // name for GUI int edit(); // edit phase boolean process(); // process phase }; #endif