SMILE
v2.5
Schwarzschild Modelling Interactive expLoratory Environment
|
Base class for Schwarzschild Data objects. More...
#include <schwarzschild.h>
Public Types | |
enum | SCHWDATATYPE { SD_UNKNOWN =0, SD_DENS =0x100, SD_KINEM =0x200, SD_DENS_SPATIAL_GRID =0x40, SD_DENS_SPHERICAL_HARMONIC =0x80, SD_DENS_GRIDCLASSIC =SD_DENS | SD_DENS_SPATIAL_GRID | 1, SD_DENS_GRIDCYLINDRICAL =SD_DENS | SD_DENS_SPATIAL_GRID | 2, SD_DENS_SHBSE =SD_DENS | SD_DENS_SPHERICAL_HARMONIC | 3, SD_DENS_SHMESH =SD_DENS | SD_DENS_SPHERICAL_HARMONIC | 4, SD_KINEM_SHELL =SD_KINEM| 1, SD_KINEM_ANGMOMDIST =SD_KINEM| 2 } |
Lists all possible variants of data objects. More... | |
Public Member Functions | |
virtual SCHWDATATYPE | dataType () const =0 |
descendant classes return their type | |
virtual std::string | dataName () const =0 |
string identificator of the class | |
virtual size_t | numConstraints () const =0 |
number of constraints that this kind of data object handles | |
virtual double | getConstraint (size_t index) const =0 |
return the value of the given constraint | |
virtual double | getConstraintNormFactor (size_t) const =0 |
return a scaling coefficient which is used to normalize the penalty for constraint deviation in the optimization problem. More... | |
virtual double | getOrbitConstraint (size_t index, const CSchwInformation *info) const =0 |
decode constraint value from an information object stored for a given orbit | |
virtual bool | isSchwInformationCorrect (const CSchwInformation *info) const =0 |
check compatibility of information object for an orbit with this data object | |
Base class for Schwarzschild Data objects.
Each object stores the information about some property of the model, like the mass in each cell of the classic grid-based Schwarzschild model. The information is stored in array(s) of abstractly defined constraints, which are needed to be satisfied in some way (exactly or approximately, or within a given tolerance) in the course of modelling.
The instances of descendant classes are constructed for a given potential, which is not used thereafter, and represent the relevant data for the entire model.
They also provide the way of computing the values of constraints for each orbit. This is done by corresponding orbit runtime functions, derived from CBasicOrbitRuntimeFnc; each variant of Schwarzschild data object has its associated runtime function which uses specific methods of this class to compute the constraints for a given orbit.
Lists all possible variants of data objects.
Enumerator | |
---|---|
SD_UNKNOWN |
undefined |
SD_DENS |
all variants of density information |
SD_KINEM |
all variants of kinematic information |
SD_DENS_SPATIAL_GRID |
all density models based on partitioning the configuration space by a grid |
SD_DENS_SPHERICAL_HARMONIC |
all density models based on angular spherical-harmonic expansion |
SD_DENS_GRIDCLASSIC |
the classic grid-based Schwarzschild density model: CSchwDataDensGridClassic |
SD_DENS_GRIDCYLINDRICAL |
cylindrical grid: CSchwDataDensGridCylindrical |
SD_DENS_SHBSE |
model based on BSE potential expansion: CSchwDataDensSHBSE |
SD_DENS_SHMESH |
model based on spherical-harmonic expansion on a radial mesh: CSchwDataDensSHMesh |
SD_KINEM_SHELL |
kinematic information about radial and tangential velocity dispersion as a function of radius: CSchwDataKinemShell |
SD_KINEM_ANGMOMDIST |
kinematic information about angular momentum distribution at given energy |
|
pure virtual |
return a scaling coefficient which is used to normalize the penalty for constraint deviation in the optimization problem.
Introduced to make the optimization problem more uniformly scaled (//optional, by default returns 1)
Implemented in smile::CSchwDataDensSHBSE, smile::CSchwDataDensSHMesh, smile::CSchwDataDensGrid, and smile::CBasicShellSchwData.