Classes | Typedefs | Functions | Variables
DinverCore Namespace Reference

Classes

class  AbstractCondition
 Abstract class to define an arbitrary condition between parameters. More...
class  AbstractForward
 Brief description of class still missing. More...
class  ActiveModel
 Brief description of class still missing. More...
class  ActiveModels
 Brief description of class still missing. More...
class  BatchRun
 Brief description of class still missing. More...
class  BestModels
 A sorted list (by increasing misfit) of indexes of best models. More...
class  DinverCoreObject
class  DinverInterface
 Abstract interface for all Dinver inversion plugins. More...
class  ForwardSignal
 Let forward thread emit a signal at end to wake main loop. More...
class  Generator
 Brief description of class still missing. More...
class  GeneratorModels
 Brief description of class still missing. More...
class  GridSnoop
 Brief description of class still missing. More...
class  ImportanceSampling
 Brief description of class still missing. More...
class  Model
 Brief description of class still missing. More...
class  ModelRepository
 Brief description of class still missing. More...
class  ModelSet
 Brief description of class still missing. More...
class  Neighborhood
 Brief description of class still missing. More...
class  NewModel
 Information about a generated model to be added. More...
class  ParamCondition
 Cache to access all conditions including one parameter. More...
class  Parameter
 Represents an inversion parameter (range, scaling, conditions) More...
class  ParameterGrid
 Brief description of class still missing. More...
class  ParamExpressionContext
class  ParamSpaceScript
 Brief description of class still missing. More...
class  ParentIndex
 An active model index with a reference to corresponding GeneratorModels. More...
class  PdfCurve
 Brief description of class still missing. More...
class  PdfPoint
 Brief description of class still missing. More...
class  RealSpace
 Brief description of class still missing. More...
class  ReportReader
class  ReportWriter
class  ScaledModels
 Brief description of class still missing. More...
class  SimpleCondition
 A simple condition p1<a*p2+b. More...
class  Simplex
 Brief description of class still missing. More...
class  TemporaryDirectory
 Brief description of class still missing. More...
class  UniqueRandom
 A thread-safe random integer generator. More...
class  VoronoiNavigator
 Brief description of class still missing. More...
class  XMLDinver
 Brief description of class still missing. More...
class  XMLDinverContext
 Brief description of class still missing. More...
class  XMLDinverHeader
 Brief description of class still missing. More...
class  XMLVirtualPlugin
 Brief description of class still missing. More...

Typedefs

typedef AbstractForwardDinverForward

Functions

void dinver_add_greater_than_condition (DinverForward forward, int p1Index, float a, int p2Index, float b)
void dinver_add_greater_than_condition_ (DinverForward forward, int *p1Index, float *a, int *p2Index, float *b)
void dinver_add_less_than_condition (DinverForward forward, int p1Index, float a, int p2Index, float b)
void dinver_add_less_than_condition_ (DinverForward forward, int *p1Index, float *a, int *p2Index, float *b)
void dinver_forward_ (int *nd, float *model, int *ok, float *misfit)
void dinver_init_global_ ()
void dinver_init_run_ (DinverForward run)
const char * dinver_plugin_description ()
const char * dinver_plugin_tag ()
const char * dinver_plugin_title ()
const char * dinver_plugin_version ()
void dinver_set_parameter_count (DinverForward forward, int n)
void dinver_set_parameter_count_ (DinverForward forward, int *n)
void dinver_set_range (DinverForward forward, int paramIndex, float min, float max, int scale, float precision)
void dinver_set_range_ (DinverForward forward, int *paramIndex, float *min, float *max, int *scale, float *precision)
const char * dinvercoreVersion ()
 PACKAGE_INFO (DinverCore, DINVERCORE)
uint qHash (const Model &m)

Variables

DinverCoreObjectdinverCore = 0

Detailed Description

library


Typedef Documentation


Function Documentation

void DinverCore::dinver_add_greater_than_condition ( DinverForward  forward,
int  p1Index,
float  a,
int  p2Index,
float  b 
)

Add a simple condition between parameter p1 and p2 for run: p1<a*p2+b

References DinverCore::RealSpace::addCondition(), DinverCore::SimpleCondition::GreaterThan, DinverCore::RealSpace::parameter(), and DinverCore::AbstractForward::parameterSpace().

{
  RealSpace& ps=forward->parameterSpace();
  Parameter * p1=ps.parameter(p1Index);
  Parameter * p2=ps.parameter(p2Index);
  ps.addCondition(new SimpleCondition(p1, SimpleCondition::GreaterThan,
                   Number::toDouble(a), p2, Number::toDouble(b)) );
}
void DinverCore::dinver_add_greater_than_condition_ ( DinverForward  forward,
int *  p1Index,
float *  a,
int *  p2Index,
float *  b 
)

References DinverCore::RealSpace::addCondition(), DinverCore::SimpleCondition::GreaterThan, DinverCore::RealSpace::parameter(), and DinverCore::AbstractForward::parameterSpace().

{
  RealSpace& ps=forward->parameterSpace();
  Parameter * p1=ps.parameter( *p1Index-1);
  Parameter * p2=ps.parameter( *p2Index-1);
  ps.addCondition(new SimpleCondition(p1, SimpleCondition::GreaterThan,
                   Number::toDouble(*a), p2, Number::toDouble(*b)) );
}
void DinverCore::dinver_add_less_than_condition ( DinverForward  forward,
int  p1Index,
float  a,
int  p2Index,
float  b 
)

Add a simple condition between parameter p1 and p2 for run: p1<a*p2+b

References DinverCore::RealSpace::addCondition(), DinverCore::SimpleCondition::LessThan, DinverCore::RealSpace::parameter(), and DinverCore::AbstractForward::parameterSpace().

{
  RealSpace& ps=forward->parameterSpace();
  Parameter * p1=ps.parameter(p1Index);
  Parameter * p2=ps.parameter(p2Index);
  ps.addCondition(new SimpleCondition(p1, SimpleCondition::LessThan,
                   Number::toDouble(a), p2, Number::toDouble(b)) );
}
void DinverCore::dinver_add_less_than_condition_ ( DinverForward  forward,
int *  p1Index,
float *  a,
int *  p2Index,
float *  b 
)

References DinverCore::RealSpace::addCondition(), DinverCore::SimpleCondition::LessThan, DinverCore::RealSpace::parameter(), and DinverCore::AbstractForward::parameterSpace().

{
  RealSpace& ps=forward->parameterSpace();
  Parameter * p1=ps.parameter( *p1Index-1);
  Parameter * p2=ps.parameter( *p2Index-1);
  ps.addCondition(new SimpleCondition(p1, SimpleCondition::LessThan,
                   Number::toDouble(*a), p2, Number::toDouble(*b)) );
}
void DinverCore::dinver_forward_ ( int *  nd,
float *  model,
int *  ok,
float *  misfit 
)

A (long) user frienly string to describe the plugin. It can be a html string.

Mandatory to define it in a C++ file.

A short name without space and special character to identify the plugin. It must be unique. To get a list of plugin tag: dinver -plugin-list

Mandatory to define it in a C++ file.

A brief user frienly string to identify the plugin

Mandatory to define it in a C++ file.

A string containing the version of the plugin

Mandatory to define it in a C++ file.

Set total number of parameters, including the fixed ones (initialized with a null range)

References DinverCore::RealSpace::addParameter(), DinverCore::ParameterGrid::Linear, and DinverCore::AbstractForward::parameterSpace().

{
  for(int i=0;i<n;i++) {
    forward->parameterSpace().addParameter(QString("p%1").arg(i), "", 0.0, 0.0, ParameterGrid::Linear, 0.0);
  }
}
void DinverCore::dinver_set_parameter_count_ ( DinverForward  forward,
int *  n 
)

Set total number of parameters, including the fixed ones (initialized with a null range)

References DinverCore::RealSpace::addParameter(), DinverCore::ParameterGrid::Linear, and DinverCore::AbstractForward::parameterSpace().

{
  for(int i=0;i<*n;i++) {
    forward->parameterSpace().addParameter(QString("p%1").arg(i+1), "", 0.0, 0.0, ParameterGrid::Linear, 0.0);
  }
}
void DinverCore::dinver_set_range ( DinverForward  forward,
int  paramIndex,
float  min,
float  max,
int  scale,
float  precision 
)

Set range of parameter index paramIndex from min to max. scale must be 0 (linear) or 1 (log)

References DinverCore::Parameter::initGrid(), DinverCore::ParameterGrid::Linear, DinverCore::ParameterGrid::Log, DinverCore::RealSpace::parameter(), DinverCore::AbstractForward::parameterSpace(), DinverCore::Parameter::setMaximum(), DinverCore::Parameter::setMinimum(), DinverCore::Parameter::setPrecision(), and DinverCore::Parameter::setScale().

{
  Parameter * p;
  p=forward->parameterSpace().parameter(paramIndex);
  p->setMinimum(Number::toDouble(min) );
  p->setMaximum(Number::toDouble(max) );
  if(min>0.0 && scale==1) {
    p->setScale(ParameterGrid::Log);
  } else {
    p->setScale(ParameterGrid::Linear);
  }
  p->setPrecision(precision);
  p->initGrid();
}
void DinverCore::dinver_set_range_ ( DinverForward  forward,
int *  paramIndex,
float *  min,
float *  max,
int *  scale,
float *  precision 
)

References DinverCore::Parameter::initGrid(), DinverCore::ParameterGrid::Linear, DinverCore::ParameterGrid::Log, DinverCore::RealSpace::parameter(), DinverCore::AbstractForward::parameterSpace(), DinverCore::Parameter::setMaximum(), DinverCore::Parameter::setMinimum(), DinverCore::Parameter::setPrecision(), and DinverCore::Parameter::setScale().

{
  Parameter * p;
  p=forward->parameterSpace().parameter( *paramIndex-1);
  p->setMinimum(Number::toDouble( *min) );
  p->setMaximum(Number::toDouble( *max) );
  if(*min>0.0 && *scale==1) {
    p->setScale(ParameterGrid::Log);
  } else {
    p->setScale(ParameterGrid::Linear);
  }
  p->setPrecision( *precision);
  p->initGrid();
}
  {
    return DINVERCORE_VERSION;
  }
DinverCore::PACKAGE_INFO ( DinverCore  ,
DINVERCORE   
)
uint DinverCore::qHash ( const Model &  m)

Copied from hash(const uchar *p, int n) in qhash.cpp not accessible through Qt interface.

References DinverCore::Model::data(), and DinverCore::Model::parameterCount().

Referenced by DinverCore::Parameter::checksum(), DinverCore::AbstractCondition::checksum(), MapProject::exportImage(), SciFigs::GraphicObject::exportImage(), SciFigs::GraphicSheet::exportImage(), DinverCore::SimpleCondition::internalChecksum(), QGpGuiTools::ExpandTabWidget::key(), and GeopsyMainWindow::showDBStatus().

{
  uint h=0;
  uint g;
  int n=sizeof(int)*m.parameterCount();
  const uchar * p=reinterpret_cast<const uchar *>(m.data());
  while(n--) {
      h=(h << 4) + *p++;
      if((g=(h & 0xf0000000))!=0)
          h ^= g >> 23;
      h &= ~g;
  }
  return h;
}

Variable Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines