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