27#ifndef GCOMOBSERVATION_HPP
28#define GCOMOBSERVATION_HPP
88 const std::vector<GFilename>& oadnames,
89 const std::vector<GFilename>& hkdnames = std::vector<GFilename> (),
98 virtual void clear(
void);
100 virtual std::string
classname(
void)
const;
104 virtual double ontime(
void)
const;
105 virtual double livetime(
void)
const;
125 const std::vector<GFilename>& oadnames,
126 const std::vector<GFilename>& hkdnames = std::vector<GFilename> (),
130 void obs_id(
const double&
id);
135 const double&
obs_id(
void)
const;
136 const double&
ewidth(
void)
const;
168 const int& nrunav = 3,
169 const int& navgr = 3,
170 const int& nincl = 15,
171 const int& nexcl = 0);
188 const int& nrunav = 3,
189 const int& navgr = 3,
190 const int& nincl = 15,
191 const int& nexcl = 0);
193 const int& nrunav = 3,
194 const int& navgr = 3,
195 const int& nincl = 15,
196 const int& nexcl = 0);
198 const int& nrunav = 3,
199 const int& navgr = 3,
200 const int& nincl = 15,
201 const int& nexcl = 0);
258 return (
"GCOMObservation");
COMPTEL Solar System Barycentre Data container class definition.
COMPTEL Data Space class definition.
COMPTEL event bin container class interface definition.
COMPTEL event list class definition.
COMPTEL Housekeeping Data collection class definition.
COMPTEL Orbit Aspect Data container class definition.
COMPTEL instrument response function class interface definition.
COMPTEL Good Time Intervals class definition.
Filename class interface definition.
Abstract observation base class interface definition.
Time class interface definition.
COMPTEL Solar System Barycentre Data container class.
COMPTEL Data Space class.
COMPTEL event bin container class.
COMPTEL event list class.
COMPTEL Housekeeping Data collection class.
COMPTEL Orbit Aspect Data container class.
Interface class for COMPTEL observations.
void free_members(void)
Delete class members.
GCOMDri m_drw
Weighting cube.
const GCOMTim & tim(void) const
Return COMPTEL Good Time Intervals.
GCOMDri drm(const GModels &models) const
Compute DRM cube.
void init_members(void)
Initialise class members.
const GFilename & drename(void) const
Return DRE filename.
const double & obs_id(void) const
Return observation ID.
GFilename m_drgname
DRG filename.
bool is_unbinned(void) const
Check whether observation is unbinned.
void compute_drb_phinor(const GCOMDri &drm)
Compute DRB cube using PHINOR method.
void load(const GFilename &drename, const GFilename &drbname, const GFilename &drwname, const GFilename &drgname, const GFilename &drxname)
Load data for a binned observation.
GFilename m_drxname
DRX filename.
const GFilename & drgname(void) const
Return DRG filename.
const GFilename & drxname(void) const
Return DRX filename.
double m_ontime
Ontime (sec)
void compute_drb_bgdlixa(const GCOMDri &drm, const int &nrunav=3, const int &navgr=3, const int &nincl=15, const int &nexcl=0)
Compute DRB cube using BGDLIXA method.
void get_bgdlixa_phibar_indices(const int &iphibar, const int &nincl, const int &nexcl, int *isel1, int *iex1, int *iex2, int *isel2) const
Compute Phibar index range for BGDLIXA background method.
bool check_dri(const GCOMDri &map) const
Check if DRI is compatible with event cube.
virtual double npred(const GModel &model) const
Return total number of predicted counts for one model.
const GCOMDri & drb(void) const
Return background model.
virtual double ontime(void) const
Return ontime.
virtual GCOMObservation * clone(void) const
Clone COMPTEL observation.
GCOMBvcs m_bvcs
Solar System Barycentre Data.
void read_attributes(const GFitsHDU *hdu)
Read observation attributes.
const int & phi_first(void) const
Return index of first Phibar layer to be used for likelihood fitting.
void compute_drb_bgdlixe(const GCOMDri &drm, const int &nrunav=3, const int &navgr=3, const int &nincl=15, const int &nexcl=0)
Compute DRB cube using BGDLIXE method.
const GCOMOads & oads(void) const
Return Orbit Aspect Data.
int m_phi_last
Last Phibar layer to use for likelihood.
const double & ewidth(void) const
Return energy width.
GFilename m_drename
DRE filename.
void load_drg(const GFilename &drgname)
Load geometry factors from DRG file.
virtual std::string instrument(void) const
Return instrument.
double m_livetime
Livetime (sec)
virtual double grad_step_size(const GModelPar &par) const
Return gradient step size for a given model parameter.
std::vector< GFilename > m_hkdnames
HKD filenames.
const GCOMBvcs & bvcs(void) const
Return Solar System Barycentre Data.
virtual void read(const GXmlElement &xml)
Read observation from XML element.
void compute_drb_bgdlixf(const GCOMDri &drm, const int &nrunav=3, const int &navgr=3, const int &nincl=15, const int &nexcl=0)
Compute DRB cube using BGDLIXF method.
GSkyMap get_weighted_drg_map(void) const
Return weighted DRG map.
void compute_drb(const std::string &method, const GCOMDri &drm, const int &nrunav=3, const int &navgr=3, const int &nincl=15, const int &nexcl=0)
Compute DRB cube.
virtual void clear(void)
Clear COMPTEL observation.
GCOMHkds m_hkds
Housekeeping Data.
double m_obs_id
Observation ID.
virtual void write(GXmlElement &xml) const
Write observation into XML element.
GCOMOads m_oads
Orbit Aspect Data.
virtual double deadc(const GTime &time=GTime()) const
Return deadtime correction factor.
int m_phi_first
First Phibar layer to use for likelihood.
GCOMObservation(void)
Void constructor.
GCOMTim m_tim
COMPTEL Good Time Intervals.
GCOMDri m_drg
Geometry factors.
virtual const GCOMResponse * response(void) const
Return response function.
virtual std::string print(const GChatter &chatter=NORMAL) const
Print observation information.
const GCOMDri & drw(void) const
Return weighting cube.
GCOMDri m_drb
Background model.
bool is_binned(void) const
Check whether observation is binned.
void load_dre(const GFilename &drename)
Load event cube data from DRE file.
const int & phi_last(void) const
Return index of last Phibar layer to be used for likelihood fitting.
void write_attributes(GFitsHDU *hdu) const
Write observation attributes.
void load_drw(const GFilename &drwname)
Load weighting cube from DRW file.
const GFilename & drwname(void) const
Return DRW filename.
double m_ewidth
Energy width (MeV)
const GFilename & rspname(void) const
Return response cache filename.
GFilename m_drbname
DRB filename.
GFilename m_evpname
EVP filename.
virtual bool use_event_for_likelihood(const int &index) const
Check whether bin should be used for likelihood analysis.
const GCOMDri & drx(void) const
Return exposure.
double m_deadc
Deadtime correction.
virtual std::string classname(void) const
Return class name.
const GCOMDri & drg(void) const
Return geometry factors.
virtual double livetime(void) const
Return livetime.
const GFilename & drbname(void) const
Return DRB filename.
GFilename m_timname
TIM filename.
GFilename m_drwname
DRW filename.
GCOMResponse m_response
Response functions.
std::vector< GFilename > m_oadnames
OAD filenames.
virtual ~GCOMObservation(void)
Destructor.
std::string m_instrument
Instrument name.
GFilename m_bvcname
BVC filename.
const GCOMHkds & hkds(void) const
Return Housekeeping Data collection.
void load_drx(const GFilename &drxname)
Load exposure from DRX file.
void copy_members(const GCOMObservation &obs)
Copy class members.
void load_drb(const GFilename &drbname)
Load background model from DRB file.
virtual GCOMObservation & operator=(const GCOMObservation &obs)
Assignment operator.
GCOMDri m_drx
Exposure map.
GFilename m_rspname
Response cache filename.
Interface for the COMPTEL instrument response function.
COMPTEL instrument status class.
COMPTEL Good Time Intervals class.
Calibration database class.
Abstract FITS extension base class.
Abstract observation base class.
virtual double model(const GModels &models, const GEvent &event, GVector *gradients=NULL) const
Return model value and (optionally) gradients.
const std::string & id(void) const
Return observation identifier.
GEvents * m_events
Pointer to event container.
Abstract instrument response base class.