|
| LensHaloTNSIE (float my_mass, PosType my_zlens, float my_sigma, float my_rcore, float my_fratio, float my_pa, const COSMOLOGY &cosmo, float f=20) |
|
| LensHaloTNSIE (const LensHaloTNSIE &h) |
|
LensHaloTNSIE & | operator= (const LensHaloTNSIE &h) |
|
void | force_halo (PosType *alpha, KappaType *kappa, KappaType *gamma, KappaType *phi, PosType const *xcm, bool subtract_point=false, PosType screening=1.0) |
| overridden function to calculate the lensing properties
|
|
float | get_sigma () |
| get the velocity dispersion
|
|
float | get_fratio () |
| get the axis ratio
|
|
float | get_pa () |
| get the position angle
|
|
float | get_rcore () |
| get the core radius
|
|
float | get_rtrunc () |
| get the truncation radius
|
|
void | setZlens (PosType my_zlens, const COSMOLOGY &cosmo) |
|
void | set_pa (float my_pa) |
| set the position angle
|
|
| LensHalo () |
| Shell constructor.
|
|
| LensHalo (PosType z, const COSMOLOGY &cosmo) |
|
| LensHalo (const LensHalo &h) |
|
| LensHalo (LensHalo &&h) |
|
LensHalo & | operator= (const LensHalo &h) |
|
LensHalo & | operator= (LensHalo &&h) |
|
float | get_Rmax () const |
| this can be used to tag types of LensHalos
|
|
float | getRsize () const |
| get the Rsize which is the size of the halo in Mpc
|
|
float | get_mass () const |
| get the mass solar units
|
|
float | get_rscale () const |
| get the scale radius in Mpc
|
|
PosType | getZlens () const |
| get the redshift
|
|
void | getX (PosType *MyPosHalo) const |
| get the position of the Halo in physical Mpc on the lens plane
|
|
PosType | operator[] (int i) const |
| returns position of the Halo in physical Mpc on the lens plane
|
|
void | setTheta (PosType PosX, PosType PosY) |
| set the position of the Halo in radians
|
|
void | setTheta (PosType *PosXY) |
| set the position of the Halo in radians
|
|
void | setTheta (const Point_2d &p) |
| set the position of the Halo in radians
|
|
void | getTheta (PosType *MyPosHalo) const |
| get the position of the Halo in radians
|
|
void | setDist (COSMOLOGY &co) |
| Set the angular size distance to the halo. This should be the distance to the lens plane.
|
|
PosType | getDist () const |
|
void | displayPos () |
|
virtual void | initFromFile (float my_mass, long *seed, float vmax, float r_halfmass) |
| initialize from a simulation file
|
|
virtual void | initFromMassFunc (float my_mass, float my_Rsize, float my_rscale, PosType my_slope, long *seed) |
| initialize from a mass function
|
|
virtual void | set_RsizeRmax (float my_Rsize) |
| set Rsize (in Mpc) and reset Rmax
|
|
void | set_mass (float my_mass) |
| set mass (in solar masses)
|
|
virtual void | set_rscale (float my_rscale) |
| set scale radius (in Mpc)
|
|
void | setZlens (PosType my_zlens, const COSMOLOGY &cosmo) |
| set redshift
|
|
void | setRsize (PosType R) |
|
void | setZlensDist (PosType my_zlens, const COSMOLOGY &cos) |
|
void | setMass (PosType m) |
|
virtual void | set_slope (PosType my_slope) |
| set slope
|
|
virtual PosType | get_slope () |
| get slope
|
|
bool | get_flag_elliptical () |
| flag=True if halo elliptical
|
|
void | set_flag_elliptical (bool ell) |
|
bool | get_switch_flag () |
|
void | set_switch_flag (bool swt) |
| flag permits case distinction in force_halo_asym for elliptical NFWs only (get_switch_flag==true), in latter case the mass_norm_factor^2 is used instead of mass_norm_factor.
|
|
virtual void | setCosmology (const COSMOLOGY &cosmo) |
| used for elliptical NFWs only, in that case get_switch_flag==true
|
|
bool | compareZ (PosType z) |
| force tree calculation for stars
|
|
EllipMethod | getEllipMethod () const |
| stars
|
|
std::vector< double > | get_mod () |
| get vector of Fourier modes, which are calculated in the constructors of the LensHaloes when main_ellip_method is set to 'Fourier'
|
|
virtual std::size_t | Nparams () const |
| get the number of halo parameters
|
|
virtual PosType | getParam (std::size_t p) const |
| get the value of a scaled halo parameter by index
|
|
virtual PosType | setParam (std::size_t p, PosType value) |
| set the value of a scaled halo parameter by index
|
|
virtual void | printCSV (std::ostream &, bool header=false) const |
| print the halo parameters in CSV format
|
|
PosType | MassBy2DIntegation (PosType R) |
| Prints star parameters; if show_stars is true, prints data for single stars.
|
|
PosType | MassBy1DIntegation (PosType R) |
| calculates the mass within radius R by integating alpha on a ring and using Gauss' law, used only for testing
|
|
PosType | test_average_gt (PosType R) |
| calculates the average gamma_t for LensHalo::test()
|
|
PosType | test_average_kappa (PosType R) |
|
void | set_norm_factor () |
|
void | set_rsize (float my_rsize) |
| set radius rsize beyond which interpolation values between alpha_ellip and alpha_iso are computed
|
|
float | get_rsize () |
|
bool | test () |
| perform some basic consistancy checks for halo
|
|
size_t | getID () const |
|
void | setID (size_t id) |
|
PosType | renormalization (PosType r_max) |
|
PixelMap< double > | map_variables (LensingVariable lensvar, size_t Nx, size_t Ny, double res) |
| Map a PixelMap of the surface, density, potential and potential gradient centred on (0,0) in LensHalo coordinates.
|
|
|
void | assignParams (InputParams ¶ms) |
| read-in parameters from a parameter file
|
|
PosType | alpha_int (PosType x) const |
| Calculates potential (phi_int) from alpha_h. If flag is_alphah_a_table is True it takes and integrates directly the gfunction instead of alpha_h. The gfunction is used for the InterpolationTable used in alpha_h. Setting the flag to False speeds up the calculation of phi_h.
|
|
PosType | norm_int (PosType r_max) |
|
void | force_halo_sym (PosType *alpha, KappaType *kappa, KappaType *gamma, KappaType *phi, PosType const *xcm, bool subtract_point=false, PosType screening=1.0) |
| returns the lensing quantities of a ray in center of mass coordinates for a symmetric halo
|
|
void | force_halo_asym (PosType *alpha, KappaType *kappa, KappaType *gamma, KappaType *phi, PosType const *xcm, bool subtract_point=false, PosType screening=1.0) |
|
bool | force_point (PosType *alpha, KappaType *kappa, KappaType *gamma, KappaType *phi, PosType const *xcm, PosType rcm2, bool subtract_point, PosType screening) |
|
void | assignParams (InputParams ¶ms, bool needRsize) |
| read in parameters from a parameterfile in InputParams params
|
|
void | error_message1 (std::string name, std::string filename) |
| read in star parameters. This is valid for all halos and not overloaded.
|
|
virtual PosType | alpha_h (PosType x) const |
|
virtual KappaType | kappa_h (PosType x) const |
|
virtual KappaType | gamma_h (PosType x) const |
|
virtual KappaType | phi_h (PosType x) const |
|
virtual KappaType | phi_int (PosType x) const |
|
virtual PosType | ffunction (PosType x) const |
|
virtual PosType | gfunction (PosType x) const |
|
virtual PosType | dgfunctiondx (PosType x) |
|
virtual PosType | bfunction (PosType x) |
|
virtual PosType | dhfunction (PosType x) const |
|
virtual PosType | ddhfunction (PosType x, bool numerical) |
|
virtual PosType | dddhfunction (PosType x, bool numerical) |
|
virtual PosType | bnumfunction (PosType x) |
|
virtual PosType | dbfunction (PosType x) |
|
virtual PosType | ddbfunction (PosType x) |
|
virtual PosType | dmoddb (int whichmod, PosType q, PosType b) |
|
virtual PosType | ddmoddb (int whichmod, PosType q, PosType b) |
|
virtual PosType | dmoddq (int whichmod, PosType q, PosType b) |
|
virtual PosType | ddmoddq (int whichmod, PosType q, PosType b) |
|
void | faxial (PosType x, PosType theta, PosType f[]) |
| If set to true the correct normalization is applied for asymmetric NFW profiles, the mass_norm_factor is different for the other halos.
|
|
void | faxial0 (PosType theta, PosType f0[]) |
|
void | faxial1 (PosType theta, PosType f1[]) |
|
void | faxial2 (PosType theta, PosType f2[]) |
|
void | gradial (PosType r, PosType g[]) |
| Derivatives of the potential damping factor with respect to r ... TODO: come up with a better damping faction.
|
|
void | gradial2 (PosType r, PosType mu, PosType sigma, PosType g[]) |
|
void | felliptical (PosType x, PosType q, PosType theta, PosType f[], PosType g[]) |
| Calculate the derivatives of the G function = r*sqrt(cos(theta)^2 + q(r)^2 sin(theta))
|
|
virtual void | gamma_asym (PosType x, PosType theta, PosType gamma[]) |
|
virtual PosType | kappa_asym (PosType x, PosType theta) |
|
virtual void | alphakappagamma_asym (PosType x, PosType theta, PosType alpha[], PosType *kappa, PosType gamma[], PosType *phi) |
| Pseudo-elliptical profiles by Phi(G)-Ansatz.
|
|
virtual void | alphakappagamma1asym (PosType x, PosType theta, PosType alpha[2], PosType *kappa, PosType gamma[], PosType *phi) |
| Elliptical profiles by Fourier-Ansatz.
|
|
virtual void | alphakappagamma2asym (PosType x, PosType theta, PosType alpha[2], PosType *kappa, PosType gamma[], PosType *phi) |
|
virtual void | alphakappagamma3asym (PosType x, PosType theta, PosType alpha[2], PosType *kappa, PosType gamma[], PosType *phi) |
|
virtual PosType | alpha_ell (PosType x, PosType theta) |
|
double | fourier_coeff (double n, double q, double beta) |
| Calculates fourier-coefficients for power law halo.
|
|
double | IDAXDM (double lambda, double a2, double b2, double x[], double rmax, double mo) |
|
double | IDAYDM (double lambda, double a2, double b2, double x[], double rmax, double mo) |
|
double | SCHRAMMKN (double n, double x[], double rmax) |
|
double | SCHRAMMJN (double n, double x[], double rmax) |
|
double | SCHRAMMI (double x[], double rmax) |
|
void | calcModes (double q, double beta, double rottheta, PosType newmod[]) |
| Calculates the modes for fourier expansion of power law halo. All the modes are relative to the zero mode to conserve mass throughout the calculation of kappa etc.
|
|
void | calcModesB (PosType x, double q, double beta, double rottheta, PosType newmod[]) |
|
void | calcModesC (PosType beta_r, double q, double rottheta, PosType newmod[]) |
|
virtual PosType | InterpolateModes (int whichmod, PosType q, PosType b) |
|
void | analModes (int modnumber, PosType my_beta, PosType q, PosType amod[3]) |
|
Truncated non-singular isothermal ellipsoid.
This is a true TNSIE lens rather than an expansion that approximates one.