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