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