| OpendTect 8.0

Loading...
Searching...
No Matches
Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
VolProc::ChainExecutor Class Reference
VolumeProcessing

executes the work for a single VolProc::Chain. More...

`#include <volprocchainexec.h>`

Inheritance diagram for VolProc::ChainExecutor:
[legend]

## Classes
class | Epoch

## Public Member Functions
| ChainExecutor (Chain &)
| ~ChainExecutor ()
bool | areSamplesIndependent () const
void | controlWork (Task::Control) override
uiString | errMsg () const
ConstRefMan< RegularSeisDataPack > | getOutput () const
bool | needsFullVolume () const
virtual int | nextStep () override
od_int64 | nrDone () const override
bool | setCalculationScope (const TrcKeySampling &, const StepInterval< float > &, od_uint64 &maxmemusage, int *nrchunks=0)
void | setJobCommunicator (JobCommunic *)
od_int64 | totalNr () const override
uiString | uiMessage () const override
uiString | uiNrDoneText () const override
Public Member Functions inherited from Executor
| Executor (const char *nm)
virtual | ~Executor ()
int | doStep () override
bool | execute () override
bool | go (od_ostream &s, bool isfirst=true, bool islast=true, int delaybtwnstepsinms=0)
bool | go (od_ostream *s=0, bool isfirst=true, bool islast=true, int delaybtwnstepsinms=0)
Public Member Functions inherited from SequentialTask
| SequentialTask (const char *nm=nullptr)
virtual | ~SequentialTask ()
bool | execute () override
Public Member Functions inherited from ReportingTask
| ReportingTask (const ReportingTask &)=delete
virtual | ~ReportingTask ()
void | getProgress (const ReportingTask &)
ReportingTask & | operator= (const ReportingTask &)=delete
void | setSimpleMeter (bool yn, int repperc)
int | simpleMeterStep () const
bool | useSimpleMeter () const
Public Member Functions inherited from Task
| Task (const Task &)=delete
virtual | ~Task ()
virtual void | enableWorkControl (bool=true)
| Must be called before execute()
virtual uiRetVal | errorWithDetails () const
virtual Control | getState () const
Task & | operator= (const Task &)=delete
bool | workControlEnabled () const
Public Member Functions inherited from NamedCallBacker
| NamedCallBacker (const char *nm=nullptr)
| NamedCallBacker (const NamedCallBacker &)=delete
| ~NamedCallBacker ()
virtual Notifier< NamedCallBacker > & | objectToBeDeleted () const
NamedCallBacker & | operator= (const NamedCallBacker &)=delete
bool | operator== (const NamedCallBacker &oth) const
bool | operator== (const NamedObject &oth) const
Public Member Functions inherited from CallBacker
| CallBacker ()
| CallBacker (const CallBacker &)
virtual | ~CallBacker ()
bool | attachCB (const NotifierAccess &, const CallBack &, bool onlyifnew=false) const
bool | attachCB (const NotifierAccess *notif, const CallBack &cb, bool onlyifnew=false) const
void | detachAllNotifiers () const
| Call from the destructor of your inherited object.
void | detachCB (const NotifierAccess &, const CallBack &) const
void | detachCB (const NotifierAccess *notif, const CallBack &cb) const
virtual bool | isCapsule () const
bool | isNotifierAttached (const NotifierAccess *) const
| Only for debugging purposes, don't use.
CallBacker & | operator= (const CallBacker &)=delete
void | stopReceivingNotifications () const
virtual CallBacker * | trueCaller ()
Public Member Functions inherited from NamedObject
| NamedObject (const char *nm=nullptr)
| NamedObject (const NamedObject &oth)
virtual | ~NamedObject ()
virtual BufferString | getName () const
bool | getNameFromPar (const IOPar &)
const name_type & | name () const override
NamedObject & | operator= (const NamedObject &)
bool | operator== (const NamedObject &oth) const
virtual void | setName (const char *nm)
Public Member Functions inherited from ObjectWithName
virtual | ~ObjectWithName ()
bool | hasName (const char *nm) const
bool | hasName (const name_type &nm) const
void | putNameInPar (IOPar &) const

## Static Public Member Functions
static uiString | sGetStepErrMsg ()
Static Public Member Functions inherited from SequentialTask
static int | ErrorOccurred ()
static int | Finished ()
static int | MoreToDo ()
static int | WarningAvailable ()
Static Public Member Functions inherited from ReportingTask
static PtrMan< ProgressMeter > | getTextProgressMeter (od_ostream &, const IOPar *iop=nullptr)
static bool | needSimpleLogging (const IOPar &)
static const char * | sKeySimpleLogging ()
static const char * | sKeySimpleLoggingStep ()
Static Public Member Functions inherited from Task
static uiString | uiStdNrDoneText ()
Static Public Member Functions inherited from CallBacker
static void | createReceiverForCurrentThread ()
static void | removeReceiverForCurrentThread ()

## Private Member Functions
void | adjustStepsNrComponents (bool is2d)
od_uint64 | calculateMaximumMemoryUsage (const TrcKeySampling &, const StepInterval< float > &)
bool | checkAndSplit (od_int64 usage, od_int64 &freemem, int &nrchunks) const
mDeprecatedDef void | computeComputationScope (Step::ID stepid, TrcKeySampling &stepoutputhrg, StepInterval< int > &stepoutputzrg) const
int | computeLatestEpoch (Step::ID) const
bool | getCalculationScope (Step::ID stepid, TrcKeyZSampling &) const
mDeprecatedDef float | getSampleShift (float) const
int | getStepEpochIndex (Step::ID) const
mDeprecatedDef od_int64 | getStepOutputMemory (Step::ID, int nr, const TypeSet< TrcKeySampling > &epochstks, const TypeSet< StepInterval< int > > &) const
int | nrChunks (const TrcKeySampling &, const StepInterval< float > &, od_uint64 &memusage)
void | progressChanged (CallBacker *)
void | releaseMemory ()
bool | scheduleWork ()
void | updateScheduledStepsSampling (const TrcKeySampling &, const StepInterval< float > &)

## Private Attributes
Chain & | chain_
Epoch * | curepoch_ = nullptr
ObjectSet< Epoch > | epochs_
uiString | errmsg_
bool | isok_ = false
JobCommunic * | jobcomm_ = nullptr
RefMan< RegularSeisDataPack > | outputdp_
TrcKeySampling | outputhrg_
StepInterval< int > | outputzrg_
ObjectSet< Step > | scheduledsteps_
ObjectSet< TrcKeyZSampling > | stepstkzs_
int | totalnrepochs_ = 1
Chain::Web | web_

## Friends
class | ChainOutput

## Additional Inherited Members
Public Types inherited from Task
enum | Control { Run , Pause , Stop }
Public Types inherited from ObjectWithName
typedef OD::String | name_type
Public Attributes inherited from Executor
Notifier< Executor > | poststep
| Only when MoreToDo will be returned.
Notifier< Executor > | prestep
Public Attributes inherited from ReportingTask
Notifier< ReportingTask > | progressUpdated
Protected Member Functions inherited from Executor
virtual bool | goImpl (od_ostream *, bool, bool, int)
Protected Member Functions inherited from SequentialTask
virtual bool | doFinish (bool success, od_ostream *=nullptr)
virtual bool | doPrepare (od_ostream *=nullptr)
Protected Member Functions inherited from ReportingTask
| ReportingTask (const char *nm=nullptr)
void | incrementProgress ()
ProgressMeter * | progressMeter () const
void | reportProgressFinished ()
void | reportProgressStarted ()
void | resetProgress ()
void | setProgressMeter (ProgressMeter *) override
| Must be called before execute()
void | updateProgressMeter (bool forced=false, od_int64 *totalnr=0)
void | updateReportedName ()
Protected Member Functions inherited from Task
| Task (const char *nm=nullptr)
virtual bool | shouldContinue ()
Protected Member Functions inherited from NamedCallBacker
void | sendDelNotif () const
Protected Attributes inherited from Task
Control | control_ = Task::Run
Threads::ConditionVar * | workcontrolcondvar_ = nullptr
Protected Attributes inherited from NamedCallBacker
Threads::Atomic< bool > | delalreadytriggered_
Notifier< NamedCallBacker > | delnotif_
Protected Attributes inherited from NamedObject
BufferString | name_

## Detailed Description

executes the work for a single VolProc::Chain.

<>

## Constructor & Destructor Documentation

## ◆ ChainExecutor()

VolProc::ChainExecutor::ChainExecutor | ( | Chain & |  | ) |

## ◆ ~ChainExecutor()

VolProc::ChainExecutor::~ChainExecutor | ( |  | ) |

Mandatory before the execution is started. The execution can start if success. However if nrchunks > 1, the execution will use a smaller sampling than requested to avoid running short of memory.

## Member Function Documentation

## ◆ adjustStepsNrComponents()

void VolProc::ChainExecutor::adjustStepsNrComponents | ( | bool | is2d | ) |
| private

## ◆ areSamplesIndependent()

bool VolProc::ChainExecutor::areSamplesIndependent | ( |  | ) | const

## ◆ calculateMaximumMemoryUsage()

od_uint64 VolProc::ChainExecutor::calculateMaximumMemoryUsage | ( | const TrcKeySampling & | ,
|  | const StepInterval< float > & | )
| private

## ◆ checkAndSplit()

bool VolProc::ChainExecutor::checkAndSplit | ( | od_int64 | usage,
|  | od_int64 & | freemem,
|  | int & | nrchunks ) const
| private

## ◆ computeComputationScope()

mDeprecatedDef void VolProc::ChainExecutor::computeComputationScope | ( | Step::ID | stepid,
|  | TrcKeySampling & | stepoutputhrg,
|  | StepInterval< int > & | stepoutputzrg ) const
| private

## ◆ computeLatestEpoch()

int VolProc::ChainExecutor::computeLatestEpoch | ( | Step::ID |  | ) | const
| private

## ◆ controlWork()

void VolProc::ChainExecutor::controlWork | ( | Task::Control |  | ) |
| override virtual

Reimplemented from Task.

## ◆ errMsg()

uiString VolProc::ChainExecutor::errMsg | ( |  | ) | const

## ◆ getCalculationScope()

bool VolProc::ChainExecutor::getCalculationScope | ( | Step::ID | stepid,
|  | TrcKeyZSampling & | ) const
| private

## ◆ getOutput()

ConstRefMan< RegularSeisDataPack > VolProc::ChainExecutor::getOutput | ( |  | ) | const

## ◆ getSampleShift()

mDeprecatedDef float VolProc::ChainExecutor::getSampleShift | ( | float |  | ) | const
| private

## ◆ getStepEpochIndex()

int VolProc::ChainExecutor::getStepEpochIndex | ( | Step::ID |  | ) | const
| private

## ◆ getStepOutputMemory()

mDeprecatedDef od_int64 VolProc::ChainExecutor::getStepOutputMemory | ( | Step::ID | ,
|  | int | nr,
|  | const TypeSet< TrcKeySampling > & | epochstks,
|  | const TypeSet< StepInterval< int > > & | ) const
| private

## ◆ needsFullVolume()

bool VolProc::ChainExecutor::needsFullVolume | ( |  | ) | const

## ◆ nextStep()

virtual int VolProc::ChainExecutor::nextStep | ( |  | ) |
| override virtual

Return values

  MoreToDo() | Not finished. Call me again.
  Finished() | Nothing more to do.
  ErrorOccurred() | Something went wrong.

Note
  if function returns a value greater than cMoreToDo(), it should be interpreted as cMoreToDo().

Implements SequentialTask.

## ◆ nrChunks()

int VolProc::ChainExecutor::nrChunks | ( | const TrcKeySampling & | ,
|  | const StepInterval< float > & | ,
|  | od_uint64 & | memusage )
| private

## ◆ nrDone()

od_int64 VolProc::ChainExecutor::nrDone | ( |  | ) | const
| override virtual

Note
  nrDone is only used for displaying progress and will be compared to totalNr to show user how large part of the task that is finished.

Reimplemented from Task.

## ◆ progressChanged()

void VolProc::ChainExecutor::progressChanged | ( | CallBacker * |  | ) |
| private

## ◆ releaseMemory()

void VolProc::ChainExecutor::releaseMemory | ( |  | ) |
| private

## ◆ scheduleWork()

bool VolProc::ChainExecutor::scheduleWork | ( |  | ) |
| private

## ◆ setCalculationScope()

bool VolProc::ChainExecutor::setCalculationScope | ( | const TrcKeySampling & | ,
|  | const StepInterval< float > & | ,
|  | od_uint64 & | maxmemusage,
|  | int * | nrchunks = 0 )

## ◆ setJobCommunicator()

void VolProc::ChainExecutor::setJobCommunicator | ( | JobCommunic * |  | ) |

## ◆ sGetStepErrMsg()

static uiString VolProc::ChainExecutor::sGetStepErrMsg | ( |  | ) |
| static

## ◆ totalNr()

od_int64 VolProc::ChainExecutor::totalNr | ( |  | ) | const
| override virtual

Reimplemented from Task.

## ◆ uiMessage()

uiString VolProc::ChainExecutor::uiMessage | ( |  | ) | const
| override virtual

Reimplemented from Task.

## ◆ uiNrDoneText()

uiString VolProc::ChainExecutor::uiNrDoneText | ( |  | ) | const
| override virtual

Reimplemented from Task.

## ◆ updateScheduledStepsSampling()

void VolProc::ChainExecutor::updateScheduledStepsSampling | ( | const TrcKeySampling & | ,
|  | const StepInterval< float > & | )
| private

## Friends And Related Symbol Documentation

## ◆ ChainOutput

friend class ChainOutput
| friend

## Member Data Documentation

## ◆ chain_

Chain& VolProc::ChainExecutor::chain_
| private

## ◆ curepoch_

Epoch* VolProc::ChainExecutor::curepoch_ = nullptr
| private

## ◆ epochs_

ObjectSet<Epoch> VolProc::ChainExecutor::epochs_
| private

## ◆ errmsg_

uiString VolProc::ChainExecutor::errmsg_
| mutable private

## ◆ isok_

bool VolProc::ChainExecutor::isok_ = false
| private

## ◆ jobcomm_

JobCommunic* VolProc::ChainExecutor::jobcomm_ = nullptr
| private

## ◆ outputdp_

RefMan<RegularSeisDataPack> VolProc::ChainExecutor::outputdp_
| private

## ◆ outputhrg_

TrcKeySampling VolProc::ChainExecutor::outputhrg_
| private

## ◆ outputzrg_

StepInterval<int> VolProc::ChainExecutor::outputzrg_
| private

## ◆ scheduledsteps_

ObjectSet<Step> VolProc::ChainExecutor::scheduledsteps_
| private

## ◆ stepstkzs_

ObjectSet<TrcKeyZSampling> VolProc::ChainExecutor::stepstkzs_
| private

## ◆ totalnrepochs_

int VolProc::ChainExecutor::totalnrepochs_ = 1
| private

## ◆ web_

Chain::Web VolProc::ChainExecutor::web_
| private

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