27 #ifndef GMODELSPATIALRADIALPROFILEDMEINASTO_HPP
28 #define GMODELSPATIALRADIALPROFILEDMEINASTO_HPP
62 virtual void clear(
void);
64 virtual std::string
classname(
void)
const;
78 double alpha(
void)
const;
79 void alpha(
const double& alpha);
95 const double& halo_distance,
98 const double& core_radius ) :
104 double eval(
const double& los);
138 return (
"GModelSpatialRadialProfileDMEinasto");
GModelSpatialRadialProfileDMEinasto(void)
Void constructor.
GModelPar m_scale_density
Scale density of halo profile.
virtual std::string print(const GChatter &chatter=NORMAL) const
Print information.
void free_members(void)
Delete class members.
virtual double profile_value(const double &theta) const
Radial profile.
void init_members(void)
Initialise class members.
GModelPar m_alpha
Einasto spatial power index.
GModelPar m_core_radius
Core radius.
double scale_density(void) const
Return scale density.
virtual double theta_max(void) const
Return maximum model radius (in radians)
Radial profile model class interface definition.
GModelPar m_halo_distance
Distance from earth to halo center.
halo_kernel_los(const double &scale_radius, const double &halo_distance, const double &alpha, const double &theta, const double &core_radius)
Model parameter class interface definition.
virtual GModelSpatialRadialProfileDMEinasto * clone(void) const
Clone radial DMEinasto profile model.
double m_last_scale_radius
Single parameter function abstract base class definition.
double m_scale_density_squared
virtual double theta_min(void) const
Return minimum model radius (in radians)
GModelPar m_scale_radius
Scale radius of halo profile.
virtual void write(GXmlElement &xml) const
Write model into XML element.
double jfactor(const double &angle) const
Calculate J-factor.
double angle(const GVector &a, const GVector &b)
Computes angle between vectors.
double mass_density(const double &radius) const
Calculate halo mass density.
double alpha(void) const
Return Einasto alpha power index.
GModelPar m_theta_max
Maximum theta angle.
virtual void read(const GXmlElement &xml)
Read model from XML element.
void copy_members(const GModelSpatialRadialProfileDMEinasto &model)
Copy class members.
double m_last_scale_density
GModelPar m_theta_min
Minimum theta angle.
double scale_radius(void) const
Return scale radius.
double value(void) const
Return parameter value.
Single parameter function abstract base class.
virtual void clear(void)
Clear radial DMEinasto profile model.
virtual GModelSpatialRadialProfileDMEinasto & operator=(const GModelSpatialRadialProfileDMEinasto &model)
Assignment operator.
virtual std::string classname(void) const
Return class name.
void update(void) const
Update precomputation cache.
double halo_distance(void) const
Return halo distance.
Integration class interface definition.
virtual ~GModelSpatialRadialProfileDMEinasto(void)
Destructor.
double eval(const double &los)
Kernel for halo density profile squared.