/* ======== IGeoS ===== Distribition full ===== IGeoS ========= ** ** templ2e.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 ========== ** ** templ2e.h: Created by 'seisweb' on Fri Oct 20 19:19:51 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_TEMPL2E #define MOD_TEMPL2E #include "sia_module.C.h" /*-------------------------------------------------------------------- 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 TEMPL2E : public SIA_MODULE { TEMPL2E(); AHEADER datakey; ///< trace header (e.g., used to identify traces in ///< 2D prcessing 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 void proc( TRACE *t ); ///< example of helper method boolean proc( ENSEMBLE *e ); ///< process one ensemble // The following are the three key methods required for the code to execute CHARSTR module_name( boolean active ); ///< name for GUI ///< If you don't provide this method, the module will have ///< the defaukt name int edit(); ///< Edit phase. ///< Edit phases of all modules are caled once, from the ///< beginning of the job to the end. ///< The purpose of edit() is to loadthe parameters above ///< from the job file (or GUI), and to prepare for procesing. boolean process(); ///< Process phase. The Process phase is called many ///< times during data procesing, whenever the state ///< of the modules input data changes. Process phase: ///< 1) examines the state of its inputs, ///< 2) performs processing, ///< 3) adds traces to the output and removes tjem from input ///< (as needed), ///< and 4) returns OK (done something) or FAIL (need more data) }; #endif