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