26 #ifndef GRALE_SERSICLENS_H
28 #define GRALE_SERSICLENS_H
30 #include "graleconfig.h"
36 class GRALE_IMPORTEXPORT SersicLensParams :
public GravitationalLensParams
40 SersicLensParams(
double centalDensity,
double angularScale,
double index);
43 bool write(serut::SerializationInterface &si)
const;
44 bool read(serut::SerializationInterface &si);
45 GravitationalLensParams *createCopy()
const;
47 double getCentralDensity()
const {
return m_centralDensity; }
48 double getAngularScale()
const {
return m_angularScale; }
49 double getSersicIndex()
const {
return m_sersicIndex; }
51 double m_centralDensity;
52 double m_angularScale;
56 class GRALE_IMPORTEXPORT SersicLens :
public SymmetricLens
62 bool getAlphaVectorDerivatives(Vector2D<double> theta,
double &axx,
double &ayy,
double &axy)
const;
64 double getMassInside(
double thetaLength)
const;
65 double getProfileSurfaceMassDensity(
double thetaLength)
const;
67 bool processParameters(
const GravitationalLensParams *pLensParams);
68 static double Goverx2(
double x,
double n);
70 double m_angularScale;
71 double m_densityScale;
78 #endif // GRALE_SERSICLENS_H