|
| | LensHaloParticlesP (const std::string &simulation_filename, SimFileFormat format, PosType redshift, double my_inv_area_phys, PosType mass_particle, Point_2d lower_left, Point_2d upper_right, const COSMOLOGY &cosmo, int my_Nsmooth=5, float Nbucket=8, float theta=0.1, bool recenter=false, bool verbose=false) |
| |
| | LensHaloParticlesP (std::vector< Point_3d< DType > > &pvector, PosType redshift, double my_inv_area_phys, PosType mass_particle, Point_2d lower_left, Point_2d upper_right, const COSMOLOGY &cosmo, int my_Nsmooth=5, float Nbucket=8, float theta=0.1, bool recenter=false, bool verbose=false) |
| |
|
| LensHaloParticlesP (LensHaloParticlesP &&h) |
| |
|
LensHaloParticlesP & | operator= (LensHaloParticlesP &&h) |
| |
|
void | force_halo (double *alpha, KappaType *kappa, KappaType *gamma, KappaType *phi, double const *xcm, bool subtract_point=false, PosType screening=1) |
| | does not zero lens quantities
|
| |
Public Member Functions inherited from LensHaloParticles< float > |
| | LensHaloParticles (const std::string &simulation_filename, SimFileFormat format, PosType redshift, double my_inv_area_phys, PosType mass_particle, const COSMOLOGY &cosmo, int my_Nsmooth=5, float Nbucket=8, float theta=0.1, bool recenter=false, bool verbose=false) |
| |
| | LensHaloParticles (std::vector< Point_3d< float > > &pvector, PosType redshift, double my_inv_area_phys, PosType mass_particle, const COSMOLOGY &cosmo, int my_Nsmooth=5, float Nbucket=8, float theta=0.1, bool recenter=false, bool verbose=false) |
| | construct directly from a vector of positions More...
|
| |
|
| LensHaloParticles (LensHaloParticles &&h) |
| |
|
void | force_halo (double *alpha, KappaType *kappa, KappaType *gamma, KappaType *phi, double const *xcm, bool subtract_point=false, PosType screening=1) |
| | does not zero lens quantities
|
| |
|
size_t | getN () const |
| |
|
Point_3d< float > | CenterOfMass () |
| | get current center of mass in input coordinates
|
| |
|
LensHaloParticles & | operator= (LensHaloParticles &&h) |
| |
| void | rotate (PosType theta_x, PosType theta_y, Point_3d< float > &xo) |
| |
|
void | resetForceAngle (double theta) |
| |
| void | translate_particles (Point_3d< float > &xo) |
| |
| void | getBoundingBox (Point_3d< float > &p1, Point_3d< float > &p2) const |
| |
|
void | swapout (std::vector< Point_3d< float > > &pvector) |
| | swap out the particle positions, leaving the LensHaloParticles empty
|
| |
|
| 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 More...
|
| |
|
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
|
| |
|
Point_2d | getX () const |
| |
|
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
|
| |
|
Point_2d | getTheta () const |
| |
|
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 More...
|
| |
| bool | compareZ (PosType z) |
| | force tree calculation for stars More...
|
| |
| EllipMethod | getEllipMethod () const |
| | stars More...
|
| |
|
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. More...
|
| |
|
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 More...
|
| |
|
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. More...
|
| |
|
Static Public Member Functions inherited from LensHaloParticles< float > |
| static std::vector< LensHaloParticles< float > > | make (std::string filename, SimFileFormat format, float umass, float ulength, double inv_area, const COSMOLOGY &cosmo, int Nsmooth=5, float Nbucket=8, float theta=0.1, float rmax=0, Point_3d< float > xo=Point_3d< float >(0, 0, 0), bool verbose=false) |
| |
|
static const int | get_Nmod () |
| | get length of mod array, which is Nmod. Not to be confused with getNmodes in the class LensHaloFit
|
| |
|
int | tag =0 |
| |
Protected Member Functions inherited from LensHaloParticles< float > |
| | LensHaloParticles (PosType redshift, double my_inv_area_phys, PosType mass_particle, const COSMOLOGY &cosmo, int my_Nsmooth=5, float Nbucket=8, float theta=0.1, bool recenter=false, bool verbose=false) |
| |
|
void | readPositionFileASCII (const std::string &filename) |
| |
| void | setUp (bool recenter, bool verbose) |
| |
|
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 More...
|
| |
| 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. More...
|
| |
| 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. More...
|
| |
|
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)) More...
|
| |
|
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. More...
|
| |
| virtual void | alphakappagamma1asym (PosType x, PosType theta, PosType alpha[2], PosType *kappa, PosType gamma[], PosType *phi) |
| | Elliptical profiles by Fourier-Ansatz. More...
|
| |
|
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]) |
| |
Protected Attributes inherited from LensHaloParticles< float > |
|
Point_3d< float > | mcenter |
| |
|
std::vector< Point_3d< float > > | pp |
| |
|
int | Nsmooth |
| | number of neighbours for adaptive smoothing
|
| |
|
int | Nbucket |
| | number of buckets in tree
|
| |
|
double | theta2 |
| | square of opening angle for tree
|
| |
|
double | particle_mass |
| | mass
|
| |
|
PosType | inv_area |
| |
|
std::unique_ptr< OTreeNB< Point_3d< float >, float > > | otree |
| |
|
float | Rsize = 0 |
| |
|
float | mass |
| |
|
PosType | Dist |
| |
|
PosType | mnorm |
| |
|
float | Rmax |
| |
|
PosType | beta |
| |
|
float | Rmax_to_Rsize_ratio = 1.2 |
| | The factor by which Rmax is larger than Rsize.
|
| |
|
float | rscale |
| | scale length or core size. Different meaning in different cases. Not used in NSIE case.
|
| |
|
EllipMethod | main_ellip_method |
| |
|
PosType | xmax |
| |
|
PosType | mass_norm_factor =1 |
| | This is Rsize/rscale !!
|
| |
|
float | pa |
| |
|
float | fratio =1.0 |
| |
|
bool | elliptical_flag = false |
| |
|
bool | switch_flag = false |
| |
|
PosType | mod [Nmod] |
| |
|
PosType | mod1 [Nmod] |
| |
|
PosType | mod2 [Nmod] |
| |
|
PosType | r_eps |
| |
|
static const int | Nmod = 32 |
| |
template<typename DType = float>
class LensHaloParticlesP< DType >
LensHaloParticles only with pseudo-periodic boundary conditions.
The boundaries of the region to have pseudo-periodic boundary conditions is set with the lower_left and upper_right parameters. This region must contain all the halos and no rays should pass outside of it.