27#ifndef GMODELSPATIALDIFFUSE_HPP
28#define GMODELSPATIALDIFFUSE_HPP
68 const bool& gradients =
false)
const = 0;
72 const double& radius)
const = 0;
74 const double& margin = 0.0)
const = 0;
Energy value class definition.
Abstract spatial model base class interface definition.
Random number generator class definition.
Sky direction class interface definition.
Time class interface definition.
XML element node class interface definition.
Class that handles energies in a unit independent way.
Abstract diffuse spatial model base class.
void init_members(void)
Initialise class members.
virtual GModelSpatialDiffuse * clone(void) const =0
Clones object.
virtual bool contains(const GSkyDir &dir, const double &margin=0.0) const =0
virtual GSkyDir mc(const GEnergy &energy, const GTime &time, GRan &ran) const =0
virtual double mc_norm(const GSkyDir &dir, const double &radius) const =0
virtual ~GModelSpatialDiffuse(void)
Destructor.
virtual GClassCode code(void) const
Return class code.
virtual void write(GXmlElement &xml) const =0
virtual GModelSpatialDiffuse & operator=(const GModelSpatialDiffuse &model)
Assignment operator.
virtual std::string print(const GChatter &chatter=NORMAL) const =0
Print content of object.
virtual double eval(const GPhoton &photon, const bool &gradients=false) const =0
void free_members(void)
Delete class members.
GModelSpatialDiffuse(void)
Void constructor.
void copy_members(const GModelSpatialDiffuse &model)
Copy class members.
virtual void set_region(void) const =0
virtual std::string classname(void) const =0
Return class name.
virtual void clear(void)=0
Clear object.
virtual void read(const GXmlElement &xml)=0
Abstract spatial model base class.
Class that handles photons.
Random number generator class.
Abstract interface for the sky region class.