SMILE
v2.5
Schwarzschild Modelling Interactive expLoratory Environment
|
Schwarzschild data object for the classic grid-based density model. More...
#include <schwarzschild.h>
Public Member Functions | |
CSchwDataDensGridClassic (const CDensity *density, unsigned int _numShells, double innerShellMass, double outerShellMass, unsigned int _linesPerSegment, double _grid_q, double _grid_p) | |
create classic 3d-grid density Schwarzschild model for a given potential model (it is not used after constructor call) | |
virtual SCHWDATATYPE | dataType () const |
descendant classes return their type | |
virtual std::string | dataName () const |
string identificator of the class | |
virtual size_t | whichCell (const double X, const double Y, const double Z) const |
return index of cell containing given coordinates, called from COrbitRuntimeSchwClassic to compute time spent in each cell | |
virtual void | cellCenter (const size_t cell, double *X, double *Y, double *Z) const |
return coordinates of geometric center of a cell | |
size_t | getCellsPerShell () const |
return number of cells in one radial shell (3*cellsPerSegment) | |
virtual double | initCellMass (const size_t cell, const CDensity *density) const |
return the mass within a given cell | |
Public Member Functions inherited from smile::CSchwDataDensGrid | |
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... | |
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 | |
Static Public Member Functions | |
static const char * | myName () |
Private Attributes | |
const unsigned int | linesPerSegment |
Schwarzschild's scheme for dividing octant into three segments, each of them divided into linesPerSegment^2 squares. | |
const unsigned int | cellsPerSegment |
const unsigned int | cellsPerShell |
const unsigned int | numCells |
vectord | shellRadius |
radii of concentric shells | |
vectord | cellBoundary |
angles dividing segment into linesPerSegment parts | |
double | grid_x |
double | grid_y |
double | grid_z |
coefficients of grid flattening (x/r, y/r, z/r - so that x*y*z=r^3) | |
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... | |
Protected Attributes inherited from smile::CSchwDataDensGrid | |
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 |
Schwarzschild data object for the classic grid-based density model.
The constraints are the masses contained in cells of a three-dimensional grid covering radii containing mass from innerShellMass to outerShellMass and using the angular division of the positive octant of space into three segments and their further division into NxN cells.