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

Base class for Schwarzschild data objects with grid-based density model. More...

#include <schwarzschild.h>

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

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...
 

Detailed Description

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.

Member Function Documentation

virtual double smile::CSchwDataDensGrid::getConstraintNormFactor ( size_t  ) const
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.

virtual size_t smile::CSchwDataDensGrid::whichCell ( const double  X,
const double  Y,
const double  Z 
) const
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.


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