27#ifndef GMODELSPATIALRADIALPROFILE_HPP
28#define GMODELSPATIALRADIALPROFILE_HPP
70 virtual double eval(
const double& theta,
73 const bool& gradients =
false)
const;
78 const double& margin = 0.0)
const;
102 std::vector<double>
mc;
Abstract radial spatial model base class interface definition.
Node array class interface definition.
Circular sky region class interface definition.
Class that handles energies in a unit independent way.
virtual bool contains(const GSkyDir &dir, const double &margin=0.0) const
Checks where model contains specified sky direction.
virtual std::string print(const GChatter &chatter=NORMAL) const =0
Print content of object.
int cache_index(void) const
Return index to pre-computation cache.
int m_num_nodes
Number of profile nodes.
virtual GSkyDir mc(const GEnergy &energy, const GTime &time, GRan &ran) const
Return MC sky direction.
int num_nodes(void) const
Return number of nodes.
virtual GModelSpatialRadialProfile & operator=(const GModelSpatialRadialProfile &model)
Assignment operator.
std::vector< profile > m_profile
Pre-computation cache.
virtual ~GModelSpatialRadialProfile(void)
Destructor.
virtual std::string classname(void) const =0
Return class name.
virtual void set_region(void) const
Set boundary sky region.
bool m_coord_indep
True if model independent of sky coordinates.
virtual double profile_value(const double &theta) const =0
virtual void clear(void)=0
Clear object.
virtual double theta_max(void) const =0
GModelSpatialRadialProfile(void)
Void constructor.
virtual double eval(const double &theta, const GEnergy &energy, const GTime &time, const bool &gradients=false) const
Evaluate function (in units of sr^-1)
virtual GModelSpatialRadialProfile * clone(void) const =0
Clones object.
void init_members(void)
Initialise class members.
void free_members(void)
Delete class members.
void copy_members(const GModelSpatialRadialProfile &model)
Copy class members.
virtual double theta_min(void) const =0
Abstract radial spatial model base class.
const GSkyDir & dir(void) const
Return position of radial spatial model.
Random number generator class.
std::vector< double > pars
Profile parameters.
std::vector< double > mc
Profile for MC.
double mc_max
Maximum of profile for MC.
std::vector< double > values
Profile values.
GNodeArray nodes
Profile nodes.