GLAMERDOC++
Gravitational Lensing Code Library
Loading...
Searching...
No Matches
elliptic.h
1//
2// elliptic.h
3// GLAMER
4//
5// Created by bmetcalf on 8/5/14.
6//
7//
8
9#ifndef __GLAMER__elliptic__
10#define __GLAMER__elliptic__
11
12#include <iostream>
13#include "standard.h"
14//#include "slsimlib.h"
15#include "lens.h"
16
26public:
28 LensHalo *isohalo
29 ,PosType fratio
30 ,PosType inclination
31 )
32 : inclination(inclination),isohalo(isohalo){
33 a = isohalo->getRsize()*sqrt(fratio);
34 b = isohalo->getRsize()/sqrt(fratio);
35 };
36
38 void alpha(PosType x[],PosType alpha[]);
39private:
40
41 PosType a;
42 PosType b;
43 PosType inclination;
44 LensHalo *isohalo;
45
46 struct DALPHAXDM{
47 DALPHAXDM(PosType lambda,PosType a2,PosType b2,PosType X[],LensHalo* isohalo)
48 :lambda(lambda),a2(a2),b2(b2),x(X),isohalo(isohalo){};
49
50 PosType operator()(PosType m);
51 private:
52 PosType lambda;
53 PosType a2;
54 PosType b2;
55 PosType *x;
56 LensHalo* isohalo;
57 };
58 struct DALPHAYDM{
59 DALPHAYDM(PosType lambda,PosType a2,PosType b2,PosType X[],LensHalo* isohalo)
60 :lambda(lambda),a2(a2),b2(b2),x(X),isohalo(isohalo){};
61
62 PosType operator()(PosType m);
63 private:
64 PosType lambda;
65 PosType a2;
66 PosType b2;
67 PosType *x;
68 LensHalo* isohalo;
69 };
70
71};
72
73
74#endif /* defined(__GLAMER__elliptic__) */
Class to convert isotropic LensHalos into elliptical halos.
Definition elliptic.h:25
void alpha(PosType x[], PosType alpha[])
The deflection angle in solar mass/Mpc.
Definition elliptic.cpp:46
Elliptic(LensHalo *isohalo, PosType fratio, PosType inclination)
Definition elliptic.h:27
A base class for all types of lensing "halos" which are any mass distribution that cause lensing.
Definition lens_halos.h:56
float getRsize() const
get the Rsize which is the size of the halo in Mpc
Definition lens_halos.h:81