13#include "base_analens.h"
22 void abstractfunction(){};
27 LensHaloFit(
const COSMOLOGY& cosmo,
int MyNmodes, PosType beta,PosType zlensref, PosType zsourceref);
30 void PrintLens(
bool show_substruct,
bool show_stars);
33 bool SafeFindLensSimple(
int Nimages,
Point *image_positions,
double *y,
double **dx_sub,
int SafetyNum,PosType PixelSizeRad,std::vector<std::vector<PosType>> & PrecisionBackTracedPos,std::vector<std::vector<PosType>> & alphaTab,
bool verbose);
42 virtual PosType
get_pa(){
return 0.0;};
48 void setNmodes(
int my_Nmodes){perturb_Nmodes = my_Nmodes;};
58 double *
getq() {
return qpriv; };
61 void set_sigma(PosType my_sigma){sigma = my_sigma; };
66 int check_model(
int Nimages,
int Nsources,
int Nlenses,
int *pairing,
double **xob,
double *x_center
67 ,
int Nmod,
double *mod,
double **xg,
double Re2,
double **dx_sub,
double **Amag,
double ytol);
68 double find_axis(
double *mod,
int Nmod);
69 double deflect_translated(
double beta,
double *mod,
double *x,
double *y,
double *mag,
int N
70 ,
int Nlenses,
double Re2,
double *x2);
71 double ElliptisizeLens(
int Nimages,
int Nsources,
int Nlenses,
int *pairing,
double **xob
72 ,
double *xc,
double **xg,
double sigG,
double beta,
int Nmod
73 ,
double *mod,
double **dx,
double *re2,
double *q);
74 void setCosmology(
const COSMOLOGY& cosmo);
84 double lens_expand(
double beta,
double *mod,
int Nmodes,PosType
const *x,PosType *alpha,KappaType *gamma,KappaType *phi);
135 void abstractfunction(){};
145 void PrintLens(
bool show_substruct,
bool show_stars);
150 void RandomizeHost(
long *seed,
bool tables);
151 void RandomizeSigma(
long *seed,
bool tables);
173 int check_model(
int Nimages,
int Nsources,
int Nlenses,
int *pairing,
double **xob,
double *x_center
174 ,
int Nmod,
double *mod,
double **xg,
double Re2,
double **dx_sub,
double **Amag,
double ytol);
175 double find_axis(
double *mod,
int Nmod);
176 double deflect_translated(
double beta,
double *mod,
double *x,
double *y,
double *mag,
int N
177 ,
int Nlenses,
double Re2,
double *x2);
The cosmology and all the functions required to calculated quantities based on the cosmology.
Definition cosmo.h:52
A NSIE lens with distortions in shape, substructures and stars included.
Definition analytic_lens.h:133
void AlignedRandomlyDistortLens(long *seed, double theta, int n)
Definition randomize_lens.cpp:158
~LensHaloAnaNSIE()
Creates a AnaLens which initially has no mass, Use FindLensSimple() to give it mass.
Definition readfiles_ana.cpp:111
void assignParams(InputParams ¶ms)
Reads in a parameter file and sets up an analytic lens.
Definition readfiles_ana.cpp:22
virtual PosType get_rcore()
get the core radius
Definition analytic_lens.h:167
void setCosmology(const COSMOLOGY &cosmo)
Sets parameters within BaseLens that depend on the source redshift - Dl,Sigma_crit,...
Definition base_analens.cpp:248
virtual PosType get_pa()
get the position angle
Definition analytic_lens.h:165
void RandomlyDistortLens(long *seed, int Nmodes)
Definition randomize_lens.cpp:104
virtual PosType get_fratio()
get the NSIE radius
Definition analytic_lens.h:163
virtual PosType get_sigma()
get the velocity dispersion
Definition analytic_lens.h:159
LensHalo class primarily used for fitting point source lenses.
Definition analytic_lens.h:20
void FindLensSimple(int Nimages, Point *image_positions, double *y, double **dx_sub)
Wrapper that allows simple lens to be found with a single lens with a single source and translates re...
Definition fitlens.cpp:22
bool SafeFindLensSimple(int Nimages, Point *image_positions, double *y, double **dx_sub, int SafetyNum, PosType PixelSizeRad, std::vector< std::vector< PosType > > &PrecisionBackTracedPos, std::vector< std::vector< PosType > > &alphaTab, bool verbose)
Same as FindLensSimple but with some tests in it.
Definition fitlens.cpp:54
void setNmodes(int my_Nmodes)
set the number of perturbation modes – Does the same as LensHaloBaseNSIE::getPerturb_Nmodes().
Definition analytic_lens.h:48
virtual PosType get_sigma()
get the velocity dispersion
Definition analytic_lens.h:38
int getNmodes()
get the number of perturbation modes
Definition analytic_lens.h:51
void get_perturbmodes(PosType *ListModes, const int Nmodes)
get the perturbation modes
Definition fitlens.cpp:893
void set_sigma(PosType my_sigma)
set the velocity dispersion
Definition analytic_lens.h:61
void set_perturbmodes(PosType *ListModes, const int Nmodes)
set the perturbation modes
Definition fitlens.cpp:882
virtual PosType get_rcore()
get the core radius
Definition analytic_lens.h:44
LensHaloFit(const COSMOLOGY &cosmo, int MyNmodes, PosType beta, PosType zlensref, PosType zsourceref)
Creates a AnaLens which initially has no mass, Use FindLensSimple() to give it mass.
Definition readfiles_ana.cpp:115
double * getq()
get the ouput of ElliptisizeLens :
Definition analytic_lens.h:58
virtual PosType get_fratio()
get the axis ratio
Definition analytic_lens.h:40
virtual PosType get_pa()
get the position angle
Definition analytic_lens.h:42
Structure for storing information about images or curves.
Definition image_info.h:20
A point on the source or image plane that contains a position and the lensing quantities.
Definition point.h:414
Tree: Exported struct.
Definition Tree.h:31