GammaLib
2.1.0.dev
|
#include <GCTAModelAeffBackground.hpp>
Classes | |
class | npred_roi_kern_phi |
class | npred_roi_kern_theta |
Public Member Functions | |
GCTAModelAeffBackground (void) | |
Void constructor. More... | |
GCTAModelAeffBackground (const GXmlElement &xml) | |
XML constructor. More... | |
GCTAModelAeffBackground (const GModelSpectral &spectral) | |
Construct from spectral component. More... | |
GCTAModelAeffBackground (const GModelSpectral &spectral, const GModelTemporal &temporal) | |
Construct from model components. More... | |
GCTAModelAeffBackground (const GCTAModelAeffBackground &bgd) | |
Copy constructor. More... | |
virtual | ~GCTAModelAeffBackground (void) |
Destructor. More... | |
GCTAModelAeffBackground & | operator= (const GCTAModelAeffBackground &bgd) |
Assignment operator. More... | |
virtual void | clear (void) |
Clear CTA effective area background model. More... | |
virtual GCTAModelAeffBackground * | clone (void) const |
Clone CTA effective area background model. More... | |
virtual std::string | classname (void) const |
Return class name. More... | |
virtual std::string | type (void) const |
Return data model type. More... | |
virtual bool | is_constant (void) const |
Signals if sky model is temporally constant. More... | |
virtual double | eval (const GEvent &event, const GObservation &obs, const bool &gradients=false) const |
Return background rate in units of events MeV \(^{-1}\) s \(^{-1}\) sr \(^{-1}\). More... | |
virtual double | npred (const GEnergy &obsEng, const GTime &obsTime, const GObservation &obs) const |
Return spatially integrated background rate in units of events MeV \(^{-1}\) s \(^{-1}\). More... | |
virtual GCTAEventList * | mc (const GObservation &obs, GRan &ran) const |
Return simulated list of events. More... | |
virtual void | read (const GXmlElement &xml) |
Read CTA effective area background model from XML element. More... | |
virtual void | write (GXmlElement &xml) const |
Write CTA effective area background model into XML element. More... | |
virtual std::string | print (const GChatter &chatter=NORMAL) const |
Print CTA effective area background model information. More... | |
GModelSpectral * | spectral (void) const |
Return spectral model component. More... | |
GModelTemporal * | temporal (void) const |
Return temporal model component. More... | |
void | spectral (const GModelSpectral *spectral) |
Set spectral model component. More... | |
void | temporal (const GModelTemporal *temporal) |
Set temporal model component. More... | |
Public Member Functions inherited from GModelData | |
GModelData (void) | |
Void constructor. More... | |
GModelData (const GXmlElement &xml) | |
XML constructor. More... | |
GModelData (const GModelData &model) | |
Copy constructor. More... | |
virtual | ~GModelData (void) |
Destructor. More... | |
virtual GModelData & | operator= (const GModelData &model) |
Assignment operator. More... | |
virtual GVector | eval (const GObservation &obs, GMatrixSparse *gradients=NULL) const |
Return model values and gradients. More... | |
Public Member Functions inherited from GModel | |
GModel (void) | |
Void constructor. More... | |
GModel (const GXmlElement &xml) | |
XML constructor. More... | |
GModel (const GModel &model) | |
Copy constructor. More... | |
virtual | ~GModel (void) |
Destructor. More... | |
virtual GModel & | operator= (const GModel &model) |
Assignment operator. More... | |
virtual GModelPar & | operator[] (const int &index) |
Returns reference to model parameter by index. More... | |
virtual const GModelPar & | operator[] (const int &index) const |
Returns reference to model parameter by index (const version) More... | |
virtual GModelPar & | operator[] (const std::string &name) |
Returns reference to model parameter by name. More... | |
virtual const GModelPar & | operator[] (const std::string &name) const |
Returns reference to model parameter by name const version) More... | |
int | size (void) const |
Return number of parameters in model. More... | |
int | scales (void) const |
Return number of scale parameters in model. More... | |
GModelPar & | at (const int &index) |
Returns reference to model parameter by index. More... | |
const GModelPar & | at (const int &index) const |
Returns reference to model parameter by index (const version) More... | |
bool | has_par (const std::string &name) const |
Checks if parameter name exists. More... | |
bool | has_scales (void) const |
Signals that model has scales. More... | |
const std::string & | name (void) const |
Return parameter name. More... | |
void | name (const std::string &name) |
Set parameter name. More... | |
const double & | ts (void) const |
Return Test Statistic value. More... | |
void | ts (const double &ts) |
Set Test Statistic value. More... | |
const bool & | tscalc (void) const |
Return Test Statistic computation flag. More... | |
void | tscalc (const bool &tscalc) |
Set Test Statistic computation flag. More... | |
const bool & | has_ts (void) const |
Signals that model has Test Statistics value. More... | |
std::string | instruments (void) const |
Returns instruments to which model applies. More... | |
void | instruments (const std::string &instruments) |
Set instruments to which model applies. More... | |
GModelPar & | scale (const int &index) |
Returns reference to scale parameter by index. More... | |
const GModelPar & | scale (const int &index) const |
Returns reference to scale parameter by index (const version) More... | |
GModelPar | scale (const std::string &instrument) const |
Returns model scale factor for a given instrument. More... | |
void | scale (const GModelPar &par) |
Set model scale factor for a given instrument. More... | |
std::string | ids (void) const |
Returns observation identifiers to which model applies. More... | |
void | ids (const std::string &ids) |
Set observation identifiers to which model applies. More... | |
bool | is_valid (const std::string &instruments, const std::string &ids) const |
Verifies if model is valid for a given instrument and identifier. More... | |
const GModelAssociations & | associations (void) const |
Return model associations. More... | |
void | associations (const GModelAssociations &associations) |
Set model associations. More... | |
const bool & | has_eval_indices (void) const |
Signals that parameter indices updated by eval() method were set. More... | |
const std::vector< int > & | eval_indices (void) const |
Return vector of parameter indices updated by eval() method. More... | |
Public Member Functions inherited from GBase | |
virtual | ~GBase (void) |
Destructor. More... | |
Private Member Functions | |
void | init_members (void) |
Initialise class members. More... | |
void | copy_members (const GCTAModelAeffBackground &bgd) |
Copy class members. More... | |
void | free_members (void) |
Delete class members. More... | |
void | set_pointers (void) |
Set pointers. More... | |
bool | valid_model (void) const |
Verifies if model has all components. More... | |
GModelSpectral * | xml_spectral (const GXmlElement &spectral) const |
Return pointer to spectral model from XML element. More... | |
GModelTemporal * | xml_temporal (const GXmlElement &temporal) const |
Return pointer to temporal model from XML element. More... | |
double | aeff_integral (const GObservation &obs, const double &logE) const |
Spatially integrate effective area for given energy. More... | |
Private Attributes | |
GModelSpectral * | m_spectral |
Spectral model. More... | |
GModelTemporal * | m_temporal |
Temporal model. More... | |
int | m_n_mc_energies |
Energy sampling for MC spectrum. More... | |
std::vector< std::string > | m_npred_names |
Model names. More... | |
std::vector< GEnergy > | m_npred_energies |
Model energy. More... | |
std::vector< GTime > | m_npred_times |
Model time. More... | |
std::vector< double > | m_npred_values |
Model values. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from GModelData | |
void | init_members (void) |
Initialise class members. More... | |
void | copy_members (const GModelData &model) |
Copy class members. More... | |
void | free_members (void) |
Delete class members. More... | |
Protected Member Functions inherited from GModel | |
void | init_members (void) |
Initialise class members. More... | |
void | copy_members (const GModel &model) |
Copy class members. More... | |
void | free_members (void) |
Delete class members. More... | |
void | read_attributes (const GXmlElement &xml) |
Read model attributes. More... | |
void | write_attributes (GXmlElement &xml) const |
Write model attributes. More... | |
std::string | print_attributes (void) const |
Print model attributes. More... | |
void | read_scales (const GXmlElement &xml) |
Read instrument scales from XML element. More... | |
void | write_scales (GXmlElement &xml) const |
Write instrument scales into XML element. More... | |
Protected Attributes inherited from GModel | |
std::string | m_name |
Model name. More... | |
std::vector< std::string > | m_instruments |
Instruments to which model applies. More... | |
std::vector< GModelPar > | m_scales |
Model instrument scale factors. More... | |
std::vector< std::string > | m_ids |
Identifiers to which model applies. More... | |
std::vector< GModelPar * > | m_pars |
Pointers to all model parameters. More... | |
GModelAssociations | m_associations |
Model associations. More... | |
bool | m_has_ts |
Signals if TS is available. More... | |
bool | m_has_tscalc |
Signals if tscalc attribute is available. More... | |
bool | m_tscalc |
Signals if TS should be computed. More... | |
double | m_ts |
Test Statistic of the model. More... | |
bool | m_has_eval_inx |
std::vector< int > | m_eval_inx |
Definition at line 47 of file GCTAModelAeffBackground.hpp.
GCTAModelAeffBackground::GCTAModelAeffBackground | ( | void | ) |
Void constructor.
Definition at line 80 of file GCTAModelAeffBackground.cpp.
References init_members().
Referenced by clone().
|
explicit |
XML constructor.
[in] | xml | XML element. |
Constructs a CTA effective area background model from the information provided by an XML element. The XML element is expected to have the following structure
<source name="..." type="..." instrument="..."> <spectrum type="..."> ... </spectrum> </source>
Optionally, a temporal model may be provided using the following syntax
<source name="..." type="..." instrument="..."> <spectrum type="..."> ... </spectrum> <temporalModel type="..."> ... </temporalModel> </source>
If no temporal component is found a constant model is assumed.
Definition at line 119 of file GCTAModelAeffBackground.cpp.
References init_members(), read(), and set_pointers().
|
explicit |
Construct from spectral component.
[in] | spectral | Spectral model component. |
Constructs a CTA effective area background model from a spectral
model component. The temporal component is assumed to be constant.
Definition at line 144 of file GCTAModelAeffBackground.cpp.
References GModelTemporalConst::clone(), GModelSpectral::clone(), init_members(), m_spectral, m_temporal, set_pointers(), and temporal().
GCTAModelAeffBackground::GCTAModelAeffBackground | ( | const GModelSpectral & | spectral, |
const GModelTemporal & | temporal | ||
) |
Construct from model components.
[in] | spectral | Spectral model component. |
[in] | temporal | Temporal model component. |
Constructs a CTA effective area background model from a spectral
and a temporal
component.
Definition at line 174 of file GCTAModelAeffBackground.cpp.
References GModelTemporal::clone(), GModelSpectral::clone(), init_members(), m_spectral, m_temporal, and set_pointers().
GCTAModelAeffBackground::GCTAModelAeffBackground | ( | const GCTAModelAeffBackground & | aeff | ) |
Copy constructor.
[in] | aeff | CTA instrument background model. |
Definition at line 198 of file GCTAModelAeffBackground.cpp.
References copy_members(), and init_members().
|
virtual |
|
private |
Spatially integrate effective area for given energy.
[in] | obs | Observation. |
[in] | logE | Log10 of reference energy in TeV. |
Spatially integrates the effective area for a given reference energy over the region of interest.
Definition at line 1108 of file GCTAModelAeffBackground.cpp.
References gammalib::cta_event_list(), gammalib::cta_pnt(), gammalib::cta_rsp_aeff(), gammalib::deg2rad, GIntegral::fixed_iter(), G_AEFF_INTEGRAL, GCTAPointing::instdir(), gammalib::is_infinite(), gammalib::is_notanumber(), gammalib::iter_phi(), GCTAEventList::roi(), GIntegral::romberg(), gammalib::str(), and gammalib::warning().
|
inlinevirtual |
Return class name.
Implements GModelData.
Definition at line 153 of file GCTAModelAeffBackground.hpp.
|
virtual |
Clear CTA effective area background model.
This method properly resets the CTA effective area background model to an initial state.
Implements GModelData.
Definition at line 273 of file GCTAModelAeffBackground.cpp.
References free_members(), GModelData::free_members(), init_members(), and GModelData::init_members().
Referenced by read().
|
virtual |
Clone CTA effective area background model.
Implements GModelData.
Definition at line 293 of file GCTAModelAeffBackground.cpp.
References GCTAModelAeffBackground().
|
private |
Copy class members.
[in] | bgd | CTA effective area background model. |
Definition at line 969 of file GCTAModelAeffBackground.cpp.
References GModelTemporal::clone(), GModelSpectral::clone(), m_n_mc_energies, m_npred_energies, m_npred_names, m_npred_times, m_npred_values, m_spectral, m_temporal, and set_pointers().
Referenced by GCTAModelAeffBackground(), and operator=().
|
virtual |
Return background rate in units of events MeV \(^{-1}\) s \(^{-1}\) sr \(^{-1}\).
[in] | event | Observed event. |
[in] | obs | Observation. |
[in] | gradients | Compute gradients? |
The method returns a real rate, defined by the number of counts per MeV, steradian and ontime.
If the gradients
flag is true the method will also set the parameter gradients of the model parameters.
Implements GModelData.
Definition at line 368 of file GCTAModelAeffBackground.cpp.
References GCTAPointing::azimuth(), gammalib::cta_dir(), gammalib::cta_pnt(), gammalib::cta_rsp_aeff(), GCTAInstDir::dir(), GEvent::energy(), GModelTemporal::eval(), GModelSpectral::eval(), G_EVAL, GCTAPointing::instdir(), GCTAInstDir::phi(), GModelTemporal::size(), GModelSpectral::size(), spectral(), temporal(), GCTAInstDir::theta(), GEvent::time(), and GCTAPointing::zenith().
|
private |
Delete class members.
Definition at line 993 of file GCTAModelAeffBackground.cpp.
References m_spectral, and m_temporal.
Referenced by clear(), operator=(), and ~GCTAModelAeffBackground().
|
private |
Initialise class members.
Definition at line 946 of file GCTAModelAeffBackground.cpp.
References m_n_mc_energies, m_npred_energies, m_npred_names, m_npred_times, m_npred_values, m_spectral, and m_temporal.
Referenced by clear(), GCTAModelAeffBackground(), and operator=().
|
inlinevirtual |
Signals if sky model is temporally constant.
Signals if the sky model is temporally constant. A temporally constant model is a model that has a temporal component of type "Constant".
Implements GModelData.
Definition at line 182 of file GCTAModelAeffBackground.hpp.
References m_temporal, and GModelTemporal::type().
|
virtual |
Return simulated list of events.
[in] | obs | Observation. |
[in] | ran | Random number generator. |
Draws a sample of events from the background model using a Monte Carlo simulation. The region of interest, the energy boundaries and the good time interval for the sampling will be extracted from the observation argument that is passed to the method. The method also requires a random number generator of type GRan which is passed by reference, hence the state of the random number generator will be changed by the method.
For each event in the returned event list, the sky direction, the nominal coordinates (DETX and DETY), the energy and the time will be set.
Implements GModelData.
Definition at line 533 of file GCTAModelAeffBackground.cpp.
References gammalib::acos(), aeff_integral(), GCTAEventList::append(), GCTAPointing::azimuth(), GCTARoi::centre(), cos(), gammalib::cta_event_list(), gammalib::cta_pnt(), gammalib::cta_rsp_aeff(), gammalib::deg2rad, GCTAEventAtom::dir(), GCTAPointing::dir(), GCTAInstDir::dir(), GSkyDir::dist(), GEvents::ebounds(), GEbounds::emax(), GEbounds::emin(), GModelSpectral::eval(), G_MC, GEvents::gti(), GCTAPointing::instdir(), GEnergy::log10TeV(), m_n_mc_energies, m_spectral, m_temporal, GCTAAeff::max(), GModelTemporal::mc(), GModel::name(), norm(), gammalib::rad2deg, GCTARoi::radius(), GCTAEventList::reserve(), GCTAEventList::roi(), GSkyDir::rotate_deg(), GTimes::size(), GGti::size(), GEbounds::size(), spectral(), GEvents::tstart(), GGti::tstart(), GGti::tstop(), gammalib::twopi, GRan::uniform(), valid_model(), and GCTAPointing::zenith().
|
virtual |
Return spatially integrated background rate in units of events MeV \(^{-1}\) s \(^{-1}\).
[in] | obsEng | Measured event energy. |
[in] | obsTime | Measured event time. |
[in] | obs | Observation. |
Spatially integrates the effective area background model for a given measured event energy and event time. The method returns a real rate, defined as the number of counts per MeV and ontime.
Implements GModelData.
Definition at line 439 of file GCTAModelAeffBackground.cpp.
References aeff_integral(), GModelTemporal::eval(), GModelSpectral::eval(), GObservation::id(), GObservation::instrument(), gammalib::is_infinite(), gammalib::is_notanumber(), GEnergy::log10TeV(), m_npred_energies, m_npred_names, m_npred_times, m_npred_values, spectral(), gammalib::str(), temporal(), valid_model(), and gammalib::warning().
GCTAModelAeffBackground & GCTAModelAeffBackground::operator= | ( | const GCTAModelAeffBackground & | aeff | ) |
Assignment operator.
[in] | aeff | CTA effective area background model. |
Definition at line 237 of file GCTAModelAeffBackground.cpp.
References copy_members(), free_members(), init_members(), and GModelData::operator=().
Print CTA effective area background model information.
[in] | chatter | Chattiness. |
Implements GModelData.
Definition at line 886 of file GCTAModelAeffBackground.cpp.
References gammalib::parformat(), GModel::print_attributes(), SILENT, GModelTemporal::size(), GModelSpectral::size(), GModel::size(), spectral(), gammalib::str(), temporal(), and type().
|
virtual |
Read CTA effective area background model from XML element.
[in] | xml | XML element. |
Set up CTA effective area background model from the information provided by an XML element. The XML element is expected to have the following structure
<source name="..." type="..." instrument="..."> <spectrum type="..."> ... </spectrum> </source>
Optionally, a temporal model may be provided using the following syntax
<source name="..." type="..." instrument="..."> <spectrum type="..."> ... </spectrum> <temporal type="..."> ... </temporal> </source>
If no temporal component is found a constant model is assumed.
Implements GModelData.
Definition at line 764 of file GCTAModelAeffBackground.cpp.
References clear(), GModelTemporalConst::clone(), GXmlNode::element(), GXmlNode::elements(), m_spectral, m_temporal, GModel::read_attributes(), set_pointers(), spectral(), temporal(), xml_spectral(), and xml_temporal().
Referenced by GCTAModelAeffBackground().
|
private |
Set pointers.
Set pointers to all model parameters. The pointers are stored in a vector that is member of the GModelData base class.
Definition at line 1014 of file GCTAModelAeffBackground.cpp.
References GModel::m_pars, GModelTemporal::size(), GModelSpectral::size(), spectral(), and temporal().
Referenced by copy_members(), GCTAModelAeffBackground(), read(), spectral(), and temporal().
|
inline |
Return spectral model component.
Returns a pointer to the spectral model component of the model. The pointer is of type GModelSpectral. Note that a NULL pointer may be returned if the sky model has no spectral model component.
Definition at line 198 of file GCTAModelAeffBackground.hpp.
References m_spectral.
Referenced by gammalib::cta_model_spectral(), eval(), mc(), npred(), print(), read(), set_pointers(), valid_model(), and write().
void GCTAModelAeffBackground::spectral | ( | const GModelSpectral * | spectral | ) |
Set spectral model component.
[in] | spectral | Pointer to spectral model component. |
Sets the spectral model component of the model.
Definition at line 306 of file GCTAModelAeffBackground.cpp.
References GModelSpectral::clone(), m_spectral, and set_pointers().
|
inline |
Return temporal model component.
Returns a pointer to the temporal model component of the model. The pointer is of type GModelTemporal. Note that a NULL pointer may be returned if the sky model has no temporal model component.
Definition at line 214 of file GCTAModelAeffBackground.hpp.
References m_temporal.
Referenced by gammalib::cta_model_temporal(), eval(), GCTAModelAeffBackground(), npred(), print(), read(), set_pointers(), valid_model(), and write().
void GCTAModelAeffBackground::temporal | ( | const GModelTemporal * | temporal | ) |
Set temporal model component.
[in] | temporal | Pointer to temporal model component. |
Sets the temporal model component of the model.
Definition at line 333 of file GCTAModelAeffBackground.cpp.
References GModelTemporal::clone(), m_temporal, and set_pointers().
|
inlinevirtual |
Return data model type.
Returns the type of the data model.
Implements GModelData.
Definition at line 167 of file GCTAModelAeffBackground.hpp.
Referenced by print().
|
private |
Verifies if model has all components.
Returns 'true' if models has a spectral and a temporal component. Otherwise returns 'false'.
Definition at line 1050 of file GCTAModelAeffBackground.cpp.
References spectral(), and temporal().
|
virtual |
Write CTA effective area background model into XML element.
[in] | xml | XML element. |
Write CTA effective area background model information into an XML element. The XML element will have the following structure
<source name="..." type="..." instrument="..."> <spectrum type="..."> ... </spectrum> </source>
If the model contains a non-constant temporal model, the temporal component will also be written following the syntax
<source name="..." type="..." instrument="..."> <spectrum type="..."> ... </spectrum> <temporal type="..."> ... </temporal> </source>
If no temporal component is found a constant model is assumed.
Implements GModelData.
Definition at line 827 of file GCTAModelAeffBackground.cpp.
References GXmlNode::append(), GXmlElement::attribute(), GXmlNode::element(), GXmlNode::elements(), m_temporal, GModel::name(), spectral(), temporal(), GModelTemporal::type(), GModelTemporal::write(), GModelSpectral::write(), and GModel::write_attributes().
|
private |
Return pointer to spectral model from XML element.
[in] | spectral | XML element. |
Returns pointer to spectral model that is defined in an XML element.
Definition at line 1068 of file GCTAModelAeffBackground.cpp.
References GModelSpectralRegistry::alloc().
Referenced by read().
|
private |
Return pointer to temporal model from XML element.
[in] | temporal | XML element. |
Returns pointer to temporal model that is defined in an XML element.
Definition at line 1087 of file GCTAModelAeffBackground.cpp.
References GModelTemporalRegistry::alloc().
Referenced by read().
|
private |
Energy sampling for MC spectrum.
Definition at line 137 of file GCTAModelAeffBackground.hpp.
Referenced by copy_members(), init_members(), and mc().
|
mutableprivate |
Model energy.
Definition at line 141 of file GCTAModelAeffBackground.hpp.
Referenced by copy_members(), init_members(), and npred().
|
mutableprivate |
Model names.
Definition at line 140 of file GCTAModelAeffBackground.hpp.
Referenced by copy_members(), init_members(), and npred().
|
mutableprivate |
Model time.
Definition at line 142 of file GCTAModelAeffBackground.hpp.
Referenced by copy_members(), init_members(), and npred().
|
mutableprivate |
Model values.
Definition at line 143 of file GCTAModelAeffBackground.hpp.
Referenced by copy_members(), init_members(), and npred().
|
private |
Spectral model.
Definition at line 135 of file GCTAModelAeffBackground.hpp.
Referenced by copy_members(), free_members(), GCTAModelAeffBackground(), init_members(), mc(), read(), and spectral().
|
private |
Temporal model.
Definition at line 136 of file GCTAModelAeffBackground.hpp.
Referenced by copy_members(), free_members(), GCTAModelAeffBackground(), init_members(), is_constant(), mc(), read(), temporal(), and write().