27 #ifndef GMODELSPATIALRADIALDISK_HPP
28 #define GMODELSPATIALRADIALDISK_HPP
62 const std::string&
coordsys =
"CEL");
71 virtual void clear(
void);
73 virtual std::string
classname(
void)
const;
74 virtual double eval(
const double& theta,
77 const bool& gradients =
false)
const;
82 const double& margin = 0.0)
const;
90 void radius(
const double& radius);
118 return (
"GModelSpatialRadialDisk");
virtual GModelSpatialRadialDisk & operator=(const GModelSpatialRadialDisk &model)
Assignment operator.
virtual double theta_max(void) const
Return maximum model radius (in radians)
virtual void write(GXmlElement &xml) const
Write model into XML element.
void update(void) const
Update precomputation cache.
double radius(void) const
Return disk radius.
virtual void clear(void)
Clear radial disk model.
Abstract radial spatial model base class interface definition.
std::string coordsys(void) const
Return coordinate system.
Random number generator class.
GModelPar m_radius
Disk radius (degrees)
virtual ~GModelSpatialRadialDisk(void)
Destructor.
Model parameter class interface definition.
Class that handles photons.
virtual double eval(const double &theta, const GEnergy &energy, const GTime &time, const bool &gradients=false) const
Evaluate function (in units of sr^-1)
Abstract interface for the sky region class.
const GSkyDir & dir(void) const
Return position of radial spatial model.
virtual void read(const GXmlElement &xml)
Read model from XML element.
virtual std::string classname(void) const
Return class name.
GModelSpatialRadialDisk(void)
Void constructor.
virtual GSkyDir mc(const GEnergy &energy, const GTime &time, GRan &ran) const
Return MC sky direction.
std::string type(void) const
Return model type.
virtual std::string print(const GChatter &chatter=NORMAL) const
Print information.
virtual void set_region(void) const
Set boundary sky region.
virtual GModelSpatialRadialDisk * clone(void) const
Clone radial disk model.
double value(void) const
Return parameter value.
void free_members(void)
Delete class members.
Abstract radial spatial model base class.
double m_radius_rad
Radius in radians.
double m_last_radius
Last disk radius.
void copy_members(const GModelSpatialRadialDisk &model)
Copy class members.
double m_norm
Normalization.
void init_members(void)
Initialise class members.
virtual bool contains(const GSkyDir &dir, const double &margin=0.0) const
Checks where model contains specified sky direction.
Class that handles energies in a unit independent way.