GRALE
grale::SIELens Class Reference

Describes a singular isothermal ellipse. More...

#include <sielens.h>

Inheritance diagram for grale::SIELens:
Inheritance graph
[legend]
Collaboration diagram for grale::SIELens:
Collaboration graph
[legend]

List of all members.

Additional Inherited Members

- Public Types inherited from grale::GravitationalLens
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 inherited from grale::GravitationalLens
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 double getInverseMagnification (double D_s, double D_ds, Vector2D< double > theta) const
 Returns the inverse magnification factor 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 GravitationalLensParamsgetLensParameters () 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.
GravitationalLenscreateCopy () const
 Creates a copy of the current lens instance.
- Static Public Member Functions inherited from grale::GravitationalLens
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.
- Protected Member Functions inherited from grale::GravitationalLens
 GravitationalLens (LensType t)
 Meant to be used by a specific lens implementation.

Detailed Description

\[ \Sigma(\vec{\theta}) = \frac{\sigma_v^2\sqrt{f}}{2 G D_d\sqrt{\theta_x^2+f^2\theta_y^2}} \]

\[ \vec{\hat{\alpha}}(\vec{\theta}) = \frac{4 \pi \sigma_v^2}{c^2} \frac{\sqrt{f}}{\sqrt{1-f^2}} \left[ \mathrm{asinh}\left(\frac{\sqrt{1-f^2}}{f}\frac{\theta_x}{|\vec{\theta}|}\right)\vec{e}_x + \mathrm{asin}\left(\sqrt{1-f^2}\frac{\theta_y}{|\vec{\theta}|}\right)\vec{e}_y \right] \]

References


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