SMILE  v2.5
Schwarzschild Modelling Interactive expLoratory Environment
Public Types | Public Member Functions | Protected Attributes | List of all members
smile::CBasicSchwModel Class Referenceabstract

Base class for Schwarzschild Modelling driver objects. More...

#include <schwarzschild.h>

Inheritance diagram for smile::CBasicSchwModel:
Inheritance graph
[legend]
Collaboration diagram for smile::CBasicSchwModel:
Collaboration graph
[legend]

Public Types

enum  MODELTYPE { SM_LINEAR, SM_QUADRATIC }
 

Public Member Functions

 CBasicSchwModel (COrbitLibrary *_orbits, const vectorSchwData &_data)
 constructors of descendant classes would also take a pointer to some kind of solver as a parameter
 
virtual std::string performModelling ()=0
 perform the actual work, and return statistical information on success or error description on failure
 
virtual std::string getStatistics () const =0
 computes and returns statistical information. More...
 
virtual size_t numVariables () const =0
 total number of variables in the linear matrix (number of orbits plus slack variables, etc)
 
virtual size_t numConstraints () const =0
 total number of constraints in the linear matrix (in all data objects plus anything else)
 
virtual smNumType getLinearMatrixElem (size_t i1, size_t i2) const =0
 return the elements of linear constraint matrix to pass to the solver through a separately defined matrix interface object
 

Protected Attributes

COrbitLibraryorbits
 pointer to the orbit library
 
vectorSchwData data
 array of pointers to Schwarzschild data objects (which contain various constraints in the model)
 

Detailed Description

Base class for Schwarzschild Modelling driver objects.

It takes the set of constraints to be satisfied in some way (exactly or approximately, with suitably defined penalties for violating them) from an array of Schwarschild Data objects, and an orbit library in which each orbit must have the same set of Schwarzschild information objects corresponding to data objects.

The performModelling() method then creates an optimization problem in some way (e.g. a quadratic optimization one) and passes it to the instance of a solver supplied when the model is constructed.

Member Function Documentation

virtual std::string smile::CBasicSchwModel::getStatistics ( ) const
pure virtual

computes and returns statistical information.

The information returned may describe, e.g. how much the model differs from data, etc. Uses existing Schwarzschild data and orbit weights, without re-doing modelling.

Implemented in smile::CSchwModelQuadOpt.


The documentation for this class was generated from the following file: