27 #ifndef GMODELSPATIALDIFFUSEMAP_HPP
28 #define GMODELSPATIALDIFFUSEMAP_HPP
58 const double&
value = 1.0,
61 const double&
value = 1.0,
70 virtual void clear(
void);
72 virtual std::string
classname(
void)
const;
74 const bool& gradients =
false)
const;
79 const double& radius)
const;
81 const double& margin = 0.0)
const;
92 double value(
void)
const;
93 void value(
const double& value);
133 return (
"GModelSpatialDiffuseMap");
virtual double eval(const GPhoton &photon, const bool &gradients=false) const
Return intensity of sky map.
bool m_normalize
Normalize map (default: true)
bool normalize(void) const
Return normalization flag.
double m_mc_one_minus_cosrad
1-cosine of radius
virtual double mc_norm(const GSkyDir &dir, const double &radius) const
Return normalization of diffuse map for Monte Carlo simulations.
virtual void set_region(void) const
Set boundary sky region.
void load(const GFilename &filename)
Load skymap into the model class.
double value(void) const
Get model value.
XML element node class interface definition.
Sky direction class interface definition.
const GSkyMap & map(void) const
Get map.
virtual GModelSpatialDiffuseMap * clone(void) const
Clone spatial map model.
void prepare_map(void)
Prepare sky map after loading.
virtual void clear(void)
Clear spatial map model.
Random number generator class.
double m_mc_max
Map maximum for MC.
Interface for the circular sky region class.
Sky map class definition.
virtual void write(GXmlElement &xml) const
Write model into XML element.
GModelSpatialDiffuseMap(void)
Void constructor.
Model parameter class interface definition.
Class that handles photons.
double m_mc_norm
Map normalization.
void init_members(void)
Initialise class members.
Abstract interface for the sky region class.
virtual GSkyDir mc(const GEnergy &energy, const GTime &time, GRan &ran) const
Returns MC sky direction.
const GFilename & filename(void) const
Get file name.
std::string type(void) const
Return model type.
const GSkyRegionCircle & mc_cone(void) const
Get Monte Carlo simulation cone.
Abstract diffuse spatial model base class interface definition.
virtual ~GModelSpatialDiffuseMap(void)
Destructor.
void free_members(void)
Delete class members.
const GSkyRegion * region(void) const
Return boundary sky region.
bool m_has_normalize
XML has normalize attribute.
double value(void) const
Return parameter value.
virtual double flux(const GSkyRegion ®ion, const GEnergy &srcEng=GEnergy(), const GTime &srcTime=GTime()) const
Returns diffuse map flux integrated in sky region.
virtual std::string classname(void) const
Return class name.
Abstract diffuse spatial model base class.
void copy_members(const GModelSpatialDiffuseMap &model)
Copy class members.
GFilename m_filename
Name of skymap.
virtual GModelSpatialDiffuseMap & operator=(const GModelSpatialDiffuseMap &model)
Assignment operator.
Circular sky region class interface definition.
virtual void read(const GXmlElement &xml)
Read model from XML element.
virtual std::string print(const GChatter &chatter=NORMAL) const
Print map information.
Filename class interface definition.
Class that handles energies in a unit independent way.
virtual bool contains(const GSkyDir &dir, const double &margin=0.0) const
Signals whether model contains sky direction.
GSkyRegionCircle m_mc_cone
MC cone.