Base class for gravitational lens implementations.
More...
#include <gravitationallens.h>
List of all members.
Public Types |
| enum | LensType {
Gaussian,
MultiplePlummers,
Plummer,
Pointmass,
SIS,
NSIE,
NSIS,
SIE,
Square,
MultipleSquares,
MultipleGaussians,
MassSheet,
Composite,
MassDisk,
Profile,
PolynomialMassProfile,
MultipleWendland,
DeflectionGrid,
NFW,
EllipticNFW,
Sersic,
EllipticSersic
} |
| | Specific lens types. More...
|
Public Member Functions |
| LensType | getLensType () const |
| | Returns the type of the lens.
|
|
virtual bool | init (double D_d, const GravitationalLensParams *pLensParams=0) |
| | Initializes the lens with parameters params, setting its angular diameter distance to D_d.
|
| bool | traceTheta (double D_s, double D_ds, Vector2D< double > theta, Vector2D< double > *pBeta) const |
| | Calculates the result of the lens equation.
|
|
virtual bool | getAlphaVector (Vector2D< double > theta, Vector2D< double > *pAlpha) const =0 |
| | Calculates the deflection angle for a given vector theta and stores the result in alpha.
|
|
virtual bool | getAlphaVectorDerivatives (Vector2D< double > theta, double &axx, double &ayy, double &axy) const |
| | Calculate derivatives of the deflection angle.
|
| virtual double | getInverseMagnification (double D_s, double D_ds, Vector2D< double > theta) const |
| | Returns the inverse magnification factor for a specific direction.
|
| virtual double | getSurfaceMassDensity (Vector2D< double > theta) const =0 |
| | Returns the surface mass density for a specific direction.
|
| double | getLensDistance () const |
| | Returns the D_d parameter used in the GravitationalLens::init function.
|
| void | setLensDistance (double D_d) |
| | Changes the lens distance.
|
| const GravitationalLensParams * | getLensParameters () const |
| | Returns a pointer to a copy of the lens parameters used in the GravitationalLens::init function.
|
|
virtual void | setDerivativeAngularDistanceScale (double distanceScale) |
| | Sets a distance scale to be used when estimating the derivatives of the function beta(theta) numerically.
|
| bool | write (serut::SerializationInterface &si) const |
| | Writes the current lens to a serut::SerializationInterface instance.
|
| bool | save (const std::string &fileName) const |
| | Writes the current lens to a file.
|
| GravitationalLens * | createCopy () const |
| | Creates a copy of the current lens instance.
|
Static Public Member Functions |
| static double | getInverseMagnification (double D_s, double D_ds, double axx, double ayy, double axy) |
| | Calculate inverse magnification from derivatives of deflection angle.
|
| static void | getShearInfo (double D_s, double D_ds, double axx, double ayy, double axy, double *pShearAngle, double *pShearSize) |
| | Calculate shear size and angle from derivatives of the deflection angle.
|
| static void | getShearInfo (double gamma1, double gamma2, double *pShearAngle, double *pShearSize) |
| | Calculate shear size and angle from shear components.
|
|
static bool | read (serut::SerializationInterface &si, GravitationalLens **pLens, std::string &errorString) |
| | Reads a lens instance from a serut::SerializationInterface object and stores the lens in lens; an error message is stored in errstr if the function is not successful.
|
| static bool | load (const std::string &fileName, GravitationalLens **pLens, std::string &errorString) |
| | Loads a lens instance from a file and stores the lens in lens.
|
Detailed Description
Member Enumeration Documentation
- Enumerator:
| Gaussian |
A lens with a Gaussian density distribution.
|
| MultiplePlummers |
A lens consisting of multiple Plummer distributions.
|
| Plummer |
A lens with a Plummer density profile.
|
| Pointmass |
A point mass lens.
|
| SIS |
A Singular Isothermal Sphere (SIS).
|
| NSIE |
A Non-Singular Isothermal Ellipse (NSIE).
|
| NSIS |
A Non-Singular Isothermal Sphere (NSIS).
|
| SIE |
A Singular Isothermal Ellipse (SIE).
|
| Square |
A lens with a square-shaped mass distribution.
|
| MultipleSquares |
A lens consisting of multiple square-shaped distributions.
|
| MultipleGaussians |
A lens consisting of multiple Gaussian density distributions.
|
| MassSheet |
A sheet of constant mass density.
|
| Composite |
A lens composed of other lenses.
|
| MassDisk |
A disk of constant mass density.
|
| Profile |
A circularly symmetric lens with a specific density profile.
|
| PolynomialMassProfile |
A circularly symmetric lens with a total mass profile composed of several polynomials.
|
| MultipleWendland |
A lens based on multiple Wendland W7,3 functions.
|
| DeflectionGrid |
A lens based on gridded deflection vector information.
|
| NFW |
A symmetric projected NFW profile.
|
| EllipticNFW |
An elliptical generalization of the symmetric NFW profile.
|
| Sersic |
A symmetric Sersic profile.
|
| EllipticSersic |
An elliptical generalization of the symmetric Sersic profile.
|
Constructor & Destructor Documentation
| grale::GravitationalLens::GravitationalLens |
( |
LensType |
t | ) |
|
|
protected |
Member Function Documentation
| static double grale::GravitationalLens::getInverseMagnification |
( |
double |
D_s, |
|
|
double |
D_ds, |
|
|
double |
axx, |
|
|
double |
ayy, |
|
|
double |
axy |
|
) |
| |
|
inlinestatic |
| virtual double grale::GravitationalLens::getInverseMagnification |
( |
double |
D_s, |
|
|
double |
D_ds, |
|
|
Vector2D< double > |
theta |
|
) |
| const |
|
virtual |
Returns the inverse magnification factor for a specific direction.
- Parameters:
-
| D_s | Angular diameter distance between source and observer. |
| D_ds | Angular diameter distance between source and lens. |
| theta | The direction for which the factor should be calculated. |
| double grale::GravitationalLens::getLensDistance |
( |
| ) |
const |
|
inline |
| LensType grale::GravitationalLens::getLensType |
( |
| ) |
const |
|
inline |
| static void grale::GravitationalLens::getShearInfo |
( |
double |
D_s, |
|
|
double |
D_ds, |
|
|
double |
axx, |
|
|
double |
ayy, |
|
|
double |
axy, |
|
|
double * |
pShearAngle, |
|
|
double * |
pShearSize |
|
) |
| |
|
inlinestatic |
| static void grale::GravitationalLens::getShearInfo |
( |
double |
gamma1, |
|
|
double |
gamma2, |
|
|
double * |
pShearAngle, |
|
|
double * |
pShearSize |
|
) |
| |
|
inlinestatic |
| virtual double grale::GravitationalLens::getSurfaceMassDensity |
( |
Vector2D< double > |
theta | ) |
const |
|
pure virtual |
| static bool grale::GravitationalLens::load |
( |
const std::string & |
fileName, |
|
|
GravitationalLens ** |
pLens, |
|
|
std::string & |
errorString |
|
) |
| |
|
static |
an error message is stored in errstr if the function is not successful.
| bool grale::GravitationalLens::save |
( |
const std::string & |
fileName | ) |
const |
| void grale::GravitationalLens::setLensDistance |
( |
double |
D_d | ) |
|
|
inline |
| bool grale::GravitationalLens::traceTheta |
( |
double |
D_s, |
|
|
double |
D_ds, |
|
|
Vector2D< double > |
theta, |
|
|
Vector2D< double > * |
pBeta |
|
) |
| const |
Calculates the result of the lens equation.
- Parameters:
-
| D_s | Angular diameter distance between source and observer. |
| D_ds | Angular diameter distance between source and lens. |
| theta | theta-vector for which the lens equation should be calculated. |
| pBeta | The result of the lens equation is stored here. |
| bool grale::GravitationalLens::write |
( |
serut::SerializationInterface & |
si | ) |
const |
The documentation for this class was generated from the following file: