SMILE
v2.5
Schwarzschild Modelling Interactive expLoratory Environment
|
Base class for Schwarzschild data objects with grid-based density model. More...
#include <schwarzschild.h>
Public Member Functions | |
CSchwDataDensGrid (const CDensity *density) | |
virtual size_t | numConstraints () const |
number of constraints that this kind of data object handles | |
virtual double | getConstraint (size_t index) const |
return the value of the given constraint | |
virtual double | getConstraintNormFactor (size_t index) const |
return a scaling coefficient which is used to normalize the penalty for constraint deviation in the optimization problem. More... | |
virtual size_t | whichCell (const double X, const double Y, const double Z) const =0 |
return index of cell containing given coordinates. More... | |
virtual void | cellCenter (const size_t cell, double *X, double *Y, double *Z) const =0 |
return coordinates of the geometric center of a cell | |
virtual double | initCellMass (const size_t cell, const CDensity *density) const =0 |
return the mass within a given cell | |
Public Member Functions inherited from smile::CSchwDataBasicDens | |
CSchwDataBasicDens (const CDensity *density) | |
virtual double | getOrbitConstraint (size_t index, const CSchwInformation *info) const |
decode constraint value from an information object stored for a given orbit | |
virtual bool | isSchwInformationCorrect (const CSchwInformation *info) const |
check compatibility of information object for an orbit with this data object | |
Public Member Functions inherited from smile::CBasicSchwData | |
virtual SCHWDATATYPE | dataType () const =0 |
descendant classes return their type | |
virtual std::string | dataName () const =0 |
string identificator of the class | |
Protected Attributes | |
vectord | cellMass |
integral of potential->rho() over the volume of each cell | |
vectord | cellMassNorm |
approximate normalization for cell masses (order-of-magnitude expected mass of each cell, the same throughout each shell) | |
Protected Attributes inherited from smile::CSchwDataBasicDens | |
double | totalMass |
Additional Inherited Members | |
Public Types inherited from smile::CBasicSchwData | |
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... | |
Base class for Schwarzschild data objects with grid-based density model.
The constraints are the masses contained in cells of a three-dimensional grid; descendant classes specify the geometic meaning of the grid.
|
inlinevirtual |
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)
Implements smile::CBasicSchwData.
|
pure virtual |
return index of cell containing given coordinates.
Called from COrbitRuntimeSchwClassic to compute time spent in each cell; if the position is outside the finite grid, return cellMass.size()
Implemented in smile::CSchwDataDensGridCylindrical, and smile::CSchwDataDensGridClassic.