OpendTect-6_4  6.4
Static Protected Member Functions | Protected Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
PreStack::ProcessManager Class Reference

Orgainizes a number of PreStack::Processors into a chain which can be processed. More...

Inheritance diagram for PreStack::ProcessManager:
[legend]

Static Protected Member Functions

static const char * sKeyNrProcessors ()
 

Protected Attributes

ObjectSet< Processorprocessors_
 
uiString errmsg_
 

Private Member Functions

mODTextTranslationClass(ProcessManager) public ~ProcessManager ()
 
int nrProcessors () const
 
ProcessorgetProcessor (int)
 
const ProcessorgetProcessor (int) const
 
bool needsPreStackInput () const
 
void addProcessor (Processor *)
 
void removeProcessor (int)
 
void swapProcessors (int, int)
 
int indexOf (const Processor *) const
 
void removeAllProcessors ()
 
void notifyChange ()
 
bool reset (bool force=true)
 Call when you are about to process new data. More...
 
bool prepareWork ()
 
BinID getInputStepout () const
 Only after prepareWork. More...
 
virtual bool wantsInput (const BinID &relbid) const
 Only after prepareWork. More...
 
void setInput (const BinID &relbid, DataPack::ID)
 
bool process ()
 
DataPack::ID getOutput () const
 
void fillPar (IOPar &) const
 
bool usePar (const IOPar &)
 
uiString errMsg () const
 

Static Private Member Functions

static const char * sKeyLineKey ()
 
static const char * sKeySetup ()
 
static const char * sKeyCDPRange ()
 
static const char * sKeyInputData ()
 
static const char * sKeyOutputData ()
 

Private Attributes

Notifier< ProcessManagersetupChange
 

Additional Inherited Members

- Public Member Functions inherited from CallBacker
 CallBacker ()
 
 CallBacker (const CallBacker &)
 
virtual ~CallBacker ()
 
bool attachCB (NotifierAccess &, const CallBack &, bool onlyifnew=false)
 
bool attachCB (NotifierAccess *notif, const CallBack &cb, bool onlyifnew=false)
 
void detachCB (NotifierAccess &, const CallBack &)
 
void detachCB (NotifierAccess *notif, const CallBack &cb)
 
bool isNotifierAttached (NotifierAccess *) const
 Only for debugging purposes, don't use. More...
 
- Protected Member Functions inherited from CallBacker
void detachAllNotifiers ()
 Call from the destructor of your inherited object. More...
 

Detailed Description

Orgainizes a number of PreStack::Processors into a chain which can be processed.

Support for processing prestack gathers is done by a PreStack::ProcessManager. The PreStack::ProcessManager has a chain of PreStack::Processor which are run in sequence.

Example:

PreStack::ProcessManager processmanager;
agc->setWindow( Interval<float>( -120, 120 ) );
processmanager.addProcessor( agc );
processmanager.reset();
//Not really necessary since the manager has not been used before
const BinID stepout = processmanager.getInputStepout();
BinID relbid;
for ( relbid.inl()=-stepout.inl(); relbid.inl()<=stepout.inl();
relbid.inl()++ )
{
for ( relbid.crl()=-stepout.crl(); relbid.crl()<=stepout.crl();
relbid.crl()++ )
{
if ( !processor.wantsInput(relbid) )
continue;
const BinID inputbid( relbid*BinID(SI().inlStep(),SI().crlStep()) );
const DataPack::ID dpid = getDataPackFromSomewhere( inputbid );
if ( dpid==DataPack::cNoID() )
return error;
processmanager.setInput( relbid, dpid );
}
}
if ( !processmanager.process() )
return error;
DataPack::ID result = processmanager.getOutput();

Constructor & Destructor Documentation

mODTextTranslationClass (ProcessManager) public PreStack::ProcessManager::~ProcessManager ( )
private

Member Function Documentation

void PreStack::ProcessManager::addProcessor ( Processor )
private
uiString PreStack::ProcessManager::errMsg ( ) const
inlineprivate
void PreStack::ProcessManager::fillPar ( IOPar ) const
private
BinID PreStack::ProcessManager::getInputStepout ( ) const
private

Only after prepareWork.

DataPack::ID PreStack::ProcessManager::getOutput ( ) const
private
Processor* PreStack::ProcessManager::getProcessor ( int  )
private
const Processor* PreStack::ProcessManager::getProcessor ( int  ) const
private
int PreStack::ProcessManager::indexOf ( const Processor ) const
private
bool PreStack::ProcessManager::needsPreStackInput ( ) const
private
void PreStack::ProcessManager::notifyChange ( )
inlineprivate
int PreStack::ProcessManager::nrProcessors ( ) const
private
bool PreStack::ProcessManager::prepareWork ( )
private
bool PreStack::ProcessManager::process ( )
private
void PreStack::ProcessManager::removeAllProcessors ( )
private
void PreStack::ProcessManager::removeProcessor ( int  )
private
bool PreStack::ProcessManager::reset ( bool  force = true)
private

Call when you are about to process new data.

void PreStack::ProcessManager::setInput ( const BinID relbid,
DataPack::ID   
)
private
static const char* PreStack::ProcessManager::sKeyCDPRange ( )
inlinestaticprivate
static const char* PreStack::ProcessManager::sKeyInputData ( )
inlinestaticprivate
static const char* PreStack::ProcessManager::sKeyLineKey ( )
inlinestaticprivate
static const char* PreStack::ProcessManager::sKeyNrProcessors ( )
inlinestaticprotected
static const char* PreStack::ProcessManager::sKeyOutputData ( )
inlinestaticprivate
static const char* PreStack::ProcessManager::sKeySetup ( )
inlinestaticprivate
void PreStack::ProcessManager::swapProcessors ( int  ,
int   
)
private
bool PreStack::ProcessManager::usePar ( const IOPar )
private
virtual bool PreStack::ProcessManager::wantsInput ( const BinID relbid) const
privatevirtual

Only after prepareWork.

Member Data Documentation

uiString PreStack::ProcessManager::errmsg_
protected
ObjectSet<Processor> PreStack::ProcessManager::processors_
protected
Notifier<ProcessManager> PreStack::ProcessManager::setupChange
private

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2019