OpendTect  6.3
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
DataDistributionExtracter< vT > Class Template Reference

Extracts a data distribution from input data: TypeSet or simply ptr + size ArrayND (will try to work with the getData() pointer) ValueSeries (will try to work with the arr() pointer) More...

Inheritance diagram for DataDistributionExtracter< vT >:
[legend]

Public Types

typedef ArrayND< vT > ArrNDType
 
typedef DataDistribution< vT > DistribType
 
typedef Interval< vT > RangeType
 
typedef RefMan< DistribTypeDistribRef
 
- Public Types inherited from Task
enum  Control { Run, Pause, Stop }
 

Public Member Functions

 DataDistributionExtracter (const ArrNDType &arr)
 
 DataDistributionExtracter (const vT *arr, od_int64 sz)
 
 DataDistributionExtracter (const ValueSeries< vT > &vs, od_int64 sz)
 
 DataDistributionExtracter (const TypeSet< vT > &ts)
 
virtual ~DataDistributionExtracter ()
 
RangeType getDataRange () const
 
int getDefNrBins () const
 
void setNrBins (int nr)
 
void setBounds (RangeType intv)
 
virtual od_int64 nrIterations () const
 
DistribRef getDistribution ()
 
void reset ()
 
- Public Member Functions inherited from ParallelTask
virtual ~ParallelTask ()
 
bool execute ()
 
virtual bool executeParallel (bool parallel)
 
void setProgressMeter (ProgressMeter *)
 Must be called before execute() More...
 
int64_t nrDone () const
 May be -1, i.e. class does not report nrdone. More...
 
int64_t totalNr () const
 
- Public Member Functions inherited from Task
virtual ~Task ()
 
virtual uiString message () const
 
virtual uiString nrDoneText () const
 
virtual uiRetVal errorWithDetails () const
 
virtual void enableWorkControl (bool=true)
 Must be called before execute() More...
 
bool workControlEnabled () const
 
virtual void controlWork (Control)
 
virtual Control getState () const
 
- Public Member Functions inherited from NamedCallBacker
 NamedCallBacker (const char *nm=0)
 
 NamedCallBacker (const NamedCallBacker &)
 
bool operator== (const NamedCallBacker &oth) const
 
bool operator== (const NamedObject &oth) const
 
virtual Notifier< NamedCallBacker > & objectToBeDeleted () 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 detachCB (const NotifierAccess &, const CallBack &) const
 
void detachCB (const NotifierAccess *notif, const CallBack &cb) const
 
bool isNotifierAttached (const NotifierAccess *) const
 Only for debugging purposes, don't use. More...
 
virtual bool isCapsule () const
 
void stopReceivingNotifications () const
 
- Public Member Functions inherited from NamedObject
 NamedObject (const char *nm=0)
 
 NamedObject (const NamedObject &oth)
 
virtual ~NamedObject ()
 
NamedObjectoperator= (const NamedObject &)
 
bool operator== (const NamedObject &oth) const
 
virtual const OD::Stringname () const
 
virtual BufferString getName () const
 
virtual void setName (const char *nm)
 
bool getNameFromPar (const IOPar &)
 
void putNameInPar (IOPar &) const
 

Static Public Member Functions

static SamplingData< vT > getSamplingFor (RangeType, int nrbins)
 
- Static Public Member Functions inherited from ParallelTask
static uiString sPosFinished ()
 
static uiString sTrcFinished ()
 
- Static Public Member Functions inherited from Task
static uiString stdMessage ()
 
static uiString stdNrDoneText ()
 
- Static Public Member Functions inherited from CallBacker
static void createReceiverForCurrentThread ()
 
static void removeReceiverForCurrentThread ()
 

Protected Member Functions

virtual bool doPrepare (int)
 
virtual bool doWork (od_int64, od_int64, int)
 
void init ()
 
void determineBounds ()
 
void putInBin (vT, TypeSet< vT > &, const SamplingData< vT > &, const int)
 
- Protected Member Functions inherited from ParallelTask
virtual int maxNrThreads () const
 
virtual int minThreadSize () const
 
virtual bool stopAllOnFailure () const
 
 ParallelTask (const char *nm=0)
 
 ParallelTask (const ParallelTask &)
 
int64_t calculateThreadSize (int64_t totalnr, int nrthreads, int thread) const
 
void addToNrDone (int64_t increment)
 
void quickAddToNrDone (int64_t loopidx)
 
void resetNrDone ()
 
- Protected Member Functions inherited from Task
 Task (const char *nm=0)
 
virtual bool shouldContinue ()
 
- Protected Member Functions inherited from NamedCallBacker
void sendDelNotif () const
 
- Protected Member Functions inherited from CallBacker
void detachAllNotifiers () const
 Call from the destructor of your inherited object. More...
 

Static Protected Member Functions

static void includeInRange (RangeType &, vT)
 

Protected Attributes

const ArrayND< vT > * arrnd_
 
const vT * arr_
 
const ValueSeries< vT > * vs_
 
const od_int64 totalsz_
 
DistribRef distrib_
 
int nrbins_
 
RangeType bounds_
 
- Protected Attributes inherited from Task
Control control_
 
Threads::ConditionVarworkcontrolcondvar_
 
- Protected Attributes inherited from NamedCallBacker
Notifier< NamedCallBackerdelnotif_
 
Threads::Atomic< bool > delalreadytriggered_
 
- Protected Attributes inherited from NamedObject
BufferString name_
 

Detailed Description

template<class vT>
class DataDistributionExtracter< vT >

Extracts a data distribution from input data: TypeSet or simply ptr + size ArrayND (will try to work with the getData() pointer) ValueSeries (will try to work with the arr() pointer)

Member Typedef Documentation

template<class vT>
typedef ArrayND<vT> DataDistributionExtracter< vT >::ArrNDType
template<class vT>
typedef RefMan<DistribType> DataDistributionExtracter< vT >::DistribRef
template<class vT>
typedef DataDistribution<vT> DataDistributionExtracter< vT >::DistribType
template<class vT>
typedef Interval<vT> DataDistributionExtracter< vT >::RangeType

Constructor & Destructor Documentation

template<class vT>
DataDistributionExtracter< vT >::DataDistributionExtracter ( const ArrNDType arr)
inline
template<class vT>
DataDistributionExtracter< vT >::DataDistributionExtracter ( const vT *  arr,
od_int64  sz 
)
inline
template<class vT>
DataDistributionExtracter< vT >::DataDistributionExtracter ( const ValueSeries< vT > &  vs,
od_int64  sz 
)
inline
template<class vT>
DataDistributionExtracter< vT >::DataDistributionExtracter ( const TypeSet< vT > &  ts)
inline
template<class vT>
virtual DataDistributionExtracter< vT >::~DataDistributionExtracter ( )
inlinevirtual

Member Function Documentation

template<class vT >
void DataDistributionExtracter< vT >::determineBounds ( )
inlineprotected
template<class vT >
bool DataDistributionExtracter< vT >::doPrepare ( int  nrthreads)
inlineprotectedvirtual

Called once, before any doWork is called.

Reimplemented from ParallelTask.

template<class vT >
bool DataDistributionExtracter< vT >::doWork ( od_int64  start,
od_int64  stop,
int   
)
inlineprotectedvirtual
template<class vT >
Interval< vT > DataDistributionExtracter< vT >::getDataRange ( ) const
inline
template<class vT >
int DataDistributionExtracter< vT >::getDefNrBins ( ) const
inline
template<class vT >
DataDistributionExtracter< vT >::DistribRef DataDistributionExtracter< vT >::getDistribution ( )
inline
template<class vT >
SamplingData< vT > DataDistributionExtracter< vT >::getSamplingFor ( RangeType  rg,
int  nrbins 
)
inlinestatic
template<class vT >
void DataDistributionExtracter< vT >::includeInRange ( RangeType rg,
vT  val 
)
inlinestaticprotected
template<class vT >
void DataDistributionExtracter< vT >::init ( )
inlineprotected
template<class vT>
virtual od_int64 DataDistributionExtracter< vT >::nrIterations ( ) const
inlinevirtual
Returns
the number of times the process should be run.

Implements ParallelTask.

template<class vT >
void DataDistributionExtracter< vT >::putInBin ( vT  val,
TypeSet< vT > &  subdistrib,
const SamplingData< vT > &  sd,
const int  nrbins 
)
inlineprotected
template<class vT>
void DataDistributionExtracter< vT >::reset ( )
inline
template<class vT>
void DataDistributionExtracter< vT >::setBounds ( RangeType  intv)
inline
template<class vT>
void DataDistributionExtracter< vT >::setNrBins ( int  nr)
inline

Member Data Documentation

template<class vT>
const vT* DataDistributionExtracter< vT >::arr_
protected
template<class vT>
const ArrayND<vT>* DataDistributionExtracter< vT >::arrnd_
protected
template<class vT>
RangeType DataDistributionExtracter< vT >::bounds_
protected
template<class vT>
DistribRef DataDistributionExtracter< vT >::distrib_
protected
template<class vT>
int DataDistributionExtracter< vT >::nrbins_
protected
template<class vT>
const od_int64 DataDistributionExtracter< vT >::totalsz_
protected
template<class vT>
const ValueSeries<vT>* DataDistributionExtracter< vT >::vs_
protected

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