Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes

PreStack::Processor Class Reference

Inheritance diagram for PreStack::Processor:
ParallelTask Task NamedObject CallBacker PreStack::AGC PreStack::LateralStack PreStack::Mute PreStack::Stack

List of all members.

Public Member Functions

virtual ~Processor ()
virtual bool reset ()
virtual const char * userName () const
virtual const BinIDgetInputStepout () const
virtual bool wantsInput (const BinID &relbid) const
void setInput (const BinID &relbid, DataPack::ID)
const BinIDgetOutputStepout () const
virtual bool setOutputInterest (const BinID &relbid, bool)
bool getOutputInterest (const BinID &relbid) const
DataPack::ID getOutput (const BinID &relbid) const
virtual bool prepareWork ()
virtual const char * errMsg () const
virtual void fillPar (IOPar &) const =0
virtual bool usePar (const IOPar &)=0
virtual bool doWork (od_int64 start, od_int64 stop, int)=0
int nrOffsets () const
virtual od_int64 nrIterations () const

Protected Member Functions

 Processor (const char *nm)
virtual GathercreateOutputArray (const Gather &input) const

Static Protected Member Functions

static int getRelBidOffset (const BinID &relbid, const BinID &stepout)
static void freeArray (ObjectSet< Gather > &)

Protected Attributes

BinID outputstepout_
ObjectSet< Gatheroutputs_
BoolTypeSet outputinterest_
ObjectSet< Gatherinputs_

Detailed Description

Processes prestackdata at one cdp location. The algorithm is implemented in subclasses, and can be created by the PreStack::PF() factory.


Constructor & Destructor Documentation

virtual PreStack::Processor::~Processor (  )  [virtual]
PreStack::Processor::Processor ( const char *  nm  )  [protected]

Member Function Documentation

virtual Gather* PreStack::Processor::createOutputArray ( const Gather input  )  const [protected, virtual]

Reimplemented in PreStack::Stack.

virtual bool PreStack::Processor::doWork ( od_int64  start,
od_int64  stop,
int   
) [pure virtual]

If nrIterations is not overridden, start and stop will refer to offsets that should be processed.

Implemented in PreStack::AGC, PreStack::LateralStack, PreStack::Mute, and PreStack::Stack.

virtual const char* PreStack::Processor::errMsg (  )  const [inline, virtual]
virtual void PreStack::Processor::fillPar ( IOPar  )  const [pure virtual]
static void PreStack::Processor::freeArray ( ObjectSet< Gather > &   )  [static, protected]
virtual const BinID& PreStack::Processor::getInputStepout (  )  const [virtual]

Reimplemented in PreStack::LateralStack.

DataPack::ID PreStack::Processor::getOutput ( const BinID relbid  )  const
bool PreStack::Processor::getOutputInterest ( const BinID relbid  )  const
const BinID& PreStack::Processor::getOutputStepout (  )  const
static int PreStack::Processor::getRelBidOffset ( const BinID relbid,
const BinID stepout 
) [static, protected]
virtual od_int64 PreStack::Processor::nrIterations (  )  const [inline, virtual]

If algorithms cannot be done in parallel with regards to offsets, override function and return 1. doWork() will then be called with start=stop=0 and you can do whatever you want in doWork. You can also return number of samples in gather and run it parallel vertically.

Implements ParallelTask.

Reimplemented in PreStack::Stack.

int PreStack::Processor::nrOffsets (  )  const
virtual bool PreStack::Processor::prepareWork (  )  [virtual]
virtual bool PreStack::Processor::reset (  )  [virtual]

Reimplemented in PreStack::LateralStack.

void PreStack::Processor::setInput ( const BinID relbid,
DataPack::ID   
)
virtual bool PreStack::Processor::setOutputInterest ( const BinID relbid,
bool   
) [virtual]

Reimplemented in PreStack::LateralStack.

virtual bool PreStack::Processor::usePar ( const IOPar  )  [pure virtual]
virtual const char* PreStack::Processor::userName (  )  const [inline, virtual]
virtual bool PreStack::Processor::wantsInput ( const BinID relbid  )  const [virtual]

Reimplemented in PreStack::LateralStack.


Member Data Documentation

BoolTypeSet PreStack::Processor::outputinterest_ [protected]