27#ifndef GCTAMODELAEFFBACKGROUND_HPP
28#define GCTAMODELAEFFBACKGROUND_HPP
63 virtual void clear(
void);
65 virtual std::string
classname(
void)
const;
66 virtual std::string
type(
void)
const;
70 const bool& gradients =
false)
const;
107 double eval(
const double& theta);
121 const double& theta) :
126 double eval(
const double& phi);
155 return (
"GCTAModelAeffBackground");
169 return (
"CTAAeffBackground");
CTA effective area base class definition.
CTA event list class interface definition.
Single parameter function abstract base class definition.
Abstract data model base class interface definition.
Abstract spectral model base class interface definition.
Abstract temporal model base class interface definition.
Abstract base class for the CTA effective area.
CTA instrument direction class.
const GCTAAeff * m_aeff
Pointer to effective area.
double eval(const double &phi)
Kernel for azimuth angle integration of effective area background model.
GCTAInstDir m_roi_centre
RoI centre.
npred_roi_kern_phi(const GCTAAeff *aeff, const double &logE, const GCTAInstDir &roi_centre, const double &theta)
double m_logE
Log10 of energy.
double m_theta
Offset angle (radians)
const GCTAAeff * m_aeff
Pointer to effectve area.
GCTAInstDir m_roi_centre
RoI centre.
npred_roi_kern_theta(const GCTAAeff *aeff, const double &logE, const GCTAInstDir &roi_centre, const int &iter)
int m_iter
Romberg iterations.
double eval(const double &theta)
Kernel for offset angle integration of effective area background model.
double m_logE
Log10 of energy.
virtual GCTAModelAeffBackground * clone(void) const
Clone CTA effective area background model.
void copy_members(const GCTAModelAeffBackground &bgd)
Copy class members.
GModelTemporal * temporal(void) const
Return temporal model component.
void init_members(void)
Initialise class members.
virtual void read(const GXmlElement &xml)
Read CTA effective area background model from XML element.
virtual ~GCTAModelAeffBackground(void)
Destructor.
GCTAModelAeffBackground & operator=(const GCTAModelAeffBackground &bgd)
Assignment operator.
virtual std::string classname(void) const
Return class name.
virtual double eval(const GEvent &event, const GObservation &obs, const bool &gradients=false) const
Return background rate in units of events MeV s sr .
GModelSpectral * spectral(void) const
Return spectral model component.
GModelSpectral * m_spectral
Spectral model.
virtual GCTAEventList * mc(const GObservation &obs, GRan &ran) const
Return simulated list of events.
virtual void clear(void)
Clear CTA effective area background model.
GCTAModelAeffBackground(void)
Void constructor.
void free_members(void)
Delete class members.
virtual void write(GXmlElement &xml) const
Write CTA effective area background model into XML element.
std::vector< GTime > m_npred_times
Model time.
virtual bool is_constant(void) const
Signals if sky model is temporally constant.
virtual std::string type(void) const
Return data model type.
int m_n_mc_energies
Energy sampling for MC spectrum.
virtual std::string print(const GChatter &chatter=NORMAL) const
Print CTA effective area background model information.
GModelSpectral * xml_spectral(const GXmlElement &spectral) const
Return pointer to spectral model from XML element.
std::vector< GEnergy > m_npred_energies
Model energy.
void set_pointers(void)
Set pointers.
virtual double npred(const GEnergy &obsEng, const GTime &obsTime, const GObservation &obs) const
Return spatially integrated background rate in units of events MeV s .
std::vector< double > m_npred_values
Model values.
bool valid_model(void) const
Verifies if model has all components.
GModelTemporal * m_temporal
Temporal model.
std::vector< std::string > m_npred_names
Model names.
GModelTemporal * xml_temporal(const GXmlElement &temporal) const
Return pointer to temporal model from XML element.
double aeff_integral(const GObservation &obs, const double &logE) const
Spatially integrate effective area for given energy.
Class that handles energies in a unit independent way.
Abstract interface for the event classes.
Single parameter function abstract base class.
Abstract data model class.
Abstract spectral model base class.
Abstract temporal model base class.
virtual std::string type(void) const =0
Abstract observation base class.
Random number generator class.