34 : cumbins_(0) { *
this = oth; }
36 ArrayNDProbDenFunc& operator =(
const ArrayNDProbDenFunc&);
39 {
return getArrND().info().getSize(dim); }
41 {
return getArrND().info().getTotalSz(); }
44 {
return getArrND(); }
50 {
return getSampling(dim); }
60 float getAveragePos(
int dim)
const;
61 static float findAveragePos(
const float*,
int,
float grandtotal);
67 virtual float getNormFac()
const;
68 virtual void doScale(
float);
73 void prepRndDrw()
const;
74 void fillCumBins()
const;
81 #define mDefArrayNDProbDenFuncFns(nm) \ 82 virtual nm##ProbDenFunc* clone() const \ 83 { return new nm##ProbDenFunc(*this); } \ 84 static const char* typeStr() { return #nm; } \ 85 virtual const char* getTypeStr() const { return typeStr(); } \ 86 virtual float normFac() const { return getNormFac();}\ 87 virtual bool canScale() const { return true; } \ 88 virtual void scale( float f ) { doScale(f); } \ 89 virtual void prepareRandDrawing() const { prepRndDrw(); } \ 90 virtual bool isEq( const ProbDenFunc& oth ) const \ 91 { return gtIsEq(oth); } 114 virtual
void writeBulk(
od_ostream&,
bool binary) const;
115 virtual
bool readBulk(
od_istream&,
bool binary);
127 virtual float gtAvgPos()
const;
128 virtual float gtVal(
float)
const;
129 virtual void drwRandPos(
float&)
const;
152 virtual
void writeBulk(
od_ostream&,
bool binary) const;
153 virtual
bool readBulk(
od_istream&,
bool binary);
157 {
return getAveragePos( dim ); }
167 {
return d ? sd1_ : sd0_; }
169 virtual float gtVal(
float,
float)
const;
170 virtual void drwRandPos(
float&,
float&)
const;
190 virtual void copyFrom(
const ProbDenFunc&);
193 virtual
int nrDims()
const {
return bins_.info().getNDim(); }
194 virtual const char* dimName(
int)
const;
196 { *dimnms_[dim] = nm; }
198 {
return getAveragePos( dim ); }
206 virtual void writeBulk(
od_ostream&,
bool binary)
const;
207 virtual bool readBulk(
od_istream&,
bool binary);
virtual const ArrayND< float > & getData() const
Definition: sampledprobdenfunc.h:43
virtual ArrayND< float > * getArrClone() const
Definition: sampledprobdenfunc.h:201
#define mExpClass(module)
Definition: commondefs.h:157
OD class for stream write common access to the user log file, or std::cout in batch progs...
Definition: od_ostream.h:25
Probability Density Function for one dimensional datasets.
Definition: probdenfunc.h:79
virtual ~ArrayNDProbDenFunc()
Definition: sampledprobdenfunc.h:35
virtual void setDimName(int dim, const char *nm)
Definition: sampledprobdenfunc.h:195
virtual const SamplingData< float > & getSampling(int d) const
Definition: sampledprobdenfunc.h:217
float * cumbins_
Definition: sampledprobdenfunc.h:71
#define mDefArrayNDProbDenFuncFns(nm)
Definition: sampledprobdenfunc.h:81
Base class for Probability Density Functions.
Definition: probdenfunc.h:29
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
SamplingData< float > sd1_
Definition: sampledprobdenfunc.h:160
virtual SamplingData< float > & sampling(int dim)
Definition: sampledprobdenfunc.h:51
virtual const SamplingData< float > & getSampling(int) const
Definition: sampledprobdenfunc.h:125
Set of BufferString objects.
Definition: bufstringset.h:25
Array1DImpl< float > bins_
Definition: sampledprobdenfunc.h:120
virtual const ArrayND< float > & getArrND() const
Definition: sampledprobdenfunc.h:215
OD class for stream read.
Definition: od_istream.h:23
Two dimensional PDF based on binned data.
Definition: sampledprobdenfunc.h:138
SamplingData< float > sd_
Definition: sampledprobdenfunc.h:119
virtual const ArrayND< float > & getArrND() const
Definition: sampledprobdenfunc.h:165
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
ArrayNDImpl< float > bins_
Definition: sampledprobdenfunc.h:210
Multi-dimensional PDF based on binned data.
Definition: sampledprobdenfunc.h:181
SamplingData< float > sd0_
Definition: sampledprobdenfunc.h:159
od_uint64 totalSize() const
Definition: sampledprobdenfunc.h:40
virtual float averagePos(int dim) const
Definition: sampledprobdenfunc.h:156
One dimensional PDF based on binned data.
Definition: sampledprobdenfunc.h:98
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
Probability Density Function for two dimensional datasets.
Definition: probdenfunc.h:124
int size(int dim) const
Definition: sampledprobdenfunc.h:38
#define od_uint64
Definition: plftypes.h:35
virtual SamplingData< float > sampling(int dim) const
Definition: sampledprobdenfunc.h:49
BufferStringSet dimnms_
Definition: sampledprobdenfunc.h:211
ArrayNDProbDenFunc(const ArrayNDProbDenFunc &oth)
Definition: sampledprobdenfunc.h:33
TypeSet< SamplingData< float > > sds_
Definition: sampledprobdenfunc.h:209
virtual const SamplingData< float > & getSampling(int d) const
Definition: sampledprobdenfunc.h:166
virtual float averagePos(int dim) const
Definition: sampledprobdenfunc.h:197
Array2DImpl< float > bins_
Definition: sampledprobdenfunc.h:161
ArrayNDProbDenFunc()
Definition: sampledprobdenfunc.h:31
virtual const ArrayND< float > & getArrND() const
Definition: sampledprobdenfunc.h:124
virtual ArrayND< float > & getData()
Definition: sampledprobdenfunc.h:45
PDF based on ArrayND implementation.
Definition: sampledprobdenfunc.h:27