GLAMERDOC++
Gravitational Lensing Code Library
Public Member Functions | List of all members
LensHaloAnaNSIE Class Reference

A NSIE lens with distortions in shape, substructures and stars included. More...

#include <analytic_lens.h>

Inherits LensHaloBaseNSIE.

Public Member Functions

 ~LensHaloAnaNSIE ()
 Creates a AnaLens which initially has no mass, Use FindLensSimple() to give it mass.
 
void assignParams (InputParams &params)
 Reads in a parameter file and sets up an analytic lens. More...
 
void PrintLens (bool show_substruct, bool show_stars)
 
void setCosmology (const COSMOLOGY &cosmo)
 Sets parameters within BaseLens that depend on the source redshift - Dl,Sigma_crit,etc.
 
void RandomizeHost (long *seed, bool tables)
 
void RandomizeSigma (long *seed, bool tables)
 
void RandomlyDistortLens (long *seed, int Nmodes)
 
void AlignedRandomlyDistortLens (long *seed, double theta, int n)
 
virtual PosType get_sigma ()
 get the velocity dispersion
 
virtual PosType get_fratio ()
 get the NSIE radius More...
 
virtual PosType get_pa ()
 get the position angle
 
virtual PosType get_rcore ()
 get the core radius
 

Detailed Description

A NSIE lens with distortions in shape, substructures and stars included.

The lens consists of a "host" lens which is a non-singular isothermal ellipsoid (NSIE) plus axial distortion modes, substructures and stars. LensHaloAnaNSIE differs from a LensHaloBaseNSIE in that there are additional functions for fitting the lens to image positions and for giving the lens random substructures and distortions.

  Input Parameters:
   **** NSIE parameters
   main_sigma                  Velocity dispersion of host NSIE.
  main_core                   Core size
  main_axis_ratio             Axis ratio of mass
  main_pos_angle              Position angle in radiants
  main_z_lens                 Redshift of lens
   **** Distortion parameters
  main_NDistortionModes       Number of distortion modes to be used.  If zero the other distortion parameters are not needed.
  main_perturb_beta
  kappa_peturb
  gamma_peturb
  monopole_peturb
  quadrapole_peturb
  hexopole_peturb
  octopole_peturb
   **** Substructure parameters
  main_sub_Ndensity      Number density of substructures.  They are distributed uniformly.  If zero the other substructure parameters are not needed.
  main_sub_beta               Logarithmic slope of the internal clump profile.  Used if main_sub_type == powerlaw
  main_sub_alpha              Logarithmic slope of the mass function.
  main_sub_Rsize               Maximum radius of most massive substructure (see Metcalf & Amara 2012)
  main_sub_mass_max               Maximum mass
  main_sub_mass_min               Minimum mass
  main_sub_type               Mass profile of clumps - 0 or nfw,1 or powerlaw, 2 or pointmass
   **** Stars parameters
  main_stars_N                 Total number of stars that will be used in the simulation.  If zero the other star parameters are not needed.
  main_stars_fraction                 Fraction of surface density in stars.
  main_stars_mass             Mass of stars.
  The stars are not initially present.  They must be implanted later.
*

Member Function Documentation

◆ AlignedRandomlyDistortLens()

void LensHaloAnaNSIE::AlignedRandomlyDistortLens ( long *  seed,
double  theta,
int  Npole 
)

\ingEinstein_roup ChangeLens

make a random realization of the perturbations to the lens the normalization is such that the rms maximum surface density of the k-th mode is rms[i] times the surface density of the host at the Einstein radius if it were a SIS, if beta=1 this is true at all radii. This is for randomly distorting a mode but maintaining its alignment with the ellipticity for example.

◆ assignParams()

void LensHaloAnaNSIE::assignParams ( InputParams params)

Reads in a parameter file and sets up an analytic lens.

Sets many parameters within the lens model, source model and force calculation.

◆ get_fratio()

virtual PosType LensHaloAnaNSIE::get_fratio ( )
inlinevirtual

get the NSIE radius

get the axis ratio

◆ RandomlyDistortLens()

void LensHaloAnaNSIE::RandomlyDistortLens ( long *  seed,
int  Nmodes 
)

\ingEinstein_roup ChangeLens

  • make a random realization of the perturbations to the lens the normalization is such that the rms maximum surface density of the k-th mode is rms[i] times the surface density of the host at the Einstein radius if it were a SIS, if beta=1 this is true at all radii. each mode is randomly oriented

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