Commit b08b52b88f74fa7115aad483c304bfd166684e03

Authored by Jürgen Knödlseder
1 parent 0e194584

Declare functions inline in GCOMObservation and correct class description.

inst/com/include/GCOMObservation.hpp
1 1 /***************************************************************************
2 2 * GCOMObservation.hpp - COMPTEL observation class *
3 3 * ----------------------------------------------------------------------- *
4   - * copyright (C) 2012-2015 by Juergen Knoedlseder *
  4 + * copyright (C) 2012-2016 by Juergen Knoedlseder *
5 5 * ----------------------------------------------------------------------- *
6 6 * *
7 7 * This program is free software: you can redistribute it and/or modify *
... ... @@ -41,9 +41,11 @@
41 41 *
42 42 * @brief Interface class for COMPTEL observations
43 43 *
44   - * This class implements a multi-wavelength observation. A multi-wavelength
45   - * observation contains spectral points obtained with an unspecified
46   - * instrument. The spectral points are given in physical units.
  44 + * This class implements a COMPTEL observation. Each COMPTEL observation is
  45 + * defined for a given energy range, and is composed of a DRE, DRB, DRG and
  46 + * DRX file. The DRE file contains the event data, the DRB file contains a
  47 + * background model, the DRG file contains geometry factors, and the DRX file
  48 + * contains the exposure.
47 49 ***************************************************************************/
48 50 class GCOMObservation : public GObservation {
49 51  
... ... @@ -58,7 +60,7 @@ public:
58 60 virtual ~GCOMObservation(void);
59 61  
60 62 // Operators
61   - virtual GCOMObservation& operator= (const GCOMObservation& obs);
  63 + virtual GCOMObservation& operator=(const GCOMObservation& obs);
62 64  
63 65 // Implement pure virtual methods
64 66 virtual void clear(void);
... ... @@ -66,10 +68,10 @@ public:
66 68 virtual std::string classname(void) const;
67 69 virtual void response(const GResponse& rsp);
68 70 virtual const GCOMResponse* response(void) const;
69   - virtual std::string instrument(void) const { return m_instrument; }
70   - virtual double ontime(void) const { return m_ontime; }
71   - virtual double livetime(void) const { return m_livetime; }
72   - virtual double deadc(const GTime& time) const { return m_deadc; }
  71 + virtual std::string instrument(void) const;
  72 + virtual double ontime(void) const;
  73 + virtual double livetime(void) const;
  74 + virtual double deadc(const GTime& time) const;
73 75 virtual void read(const GXmlElement& xml);
74 76 virtual void write(GXmlElement& xml) const;
75 77 virtual std::string print(const GChatter& chatter = NORMAL) const;
... ... @@ -80,16 +82,16 @@ public:
80 82 const std::string& drgname,
81 83 const std::string& drxname);
82 84 void response(const std::string& rspname, const GCaldb& caldb);
83   - void obs_id(const double& id) { m_obs_id=id; }
84   - void ontime(const double& ontime) { m_ontime=ontime; }
85   - void livetime(const double& livetime) { m_livetime=livetime; }
86   - void deadc(const double& deadc) { m_deadc=deadc; }
87   - void ewidth(const double& ewidth) { m_ewidth=ewidth; }
88   - const double& obs_id(void) const { return m_obs_id; }
89   - const double& ewidth(void) const { return m_ewidth; }
90   - const GSkyMap& drb(void) const { return m_drb; }
91   - const GSkyMap& drg(void) const { return m_drg; }
92   - const GSkyMap& drx(void) const { return m_drx; }
  85 + void obs_id(const double& id);
  86 + void ontime(const double& ontime);
  87 + void livetime(const double& livetime);
  88 + void deadc(const double& deadc);
  89 + void ewidth(const double& ewidth);
  90 + const double& obs_id(void) const;
  91 + const double& ewidth(void) const;
  92 + const GSkyMap& drb(void) const;
  93 + const GSkyMap& drg(void) const;
  94 + const GSkyMap& drx(void) const;
93 95  
94 96 protected:
95 97 // Protected methods
... ... @@ -147,4 +149,188 @@ const GCOMResponse* GCOMObservation::response(void) const
147 149 return &m_response;
148 150 }
149 151  
  152 +
  153 +/***********************************************************************//**
  154 + * @brief Return instrument
  155 + *
  156 + * @return Instrument name.
  157 + ***************************************************************************/
  158 +inline
  159 +std::string GCOMObservation::instrument(void) const
  160 +{
  161 + // Return instrument
  162 + return (m_instrument);
  163 +}
  164 +
  165 +
  166 +/***********************************************************************//**
  167 + * @brief Return ontime
  168 + *
  169 + * @return Ontime (seconds).
  170 + ***************************************************************************/
  171 +inline
  172 +double GCOMObservation::ontime(void) const
  173 +{
  174 + // Return ontime
  175 + return (m_ontime);
  176 +}
  177 +
  178 +
  179 +/***********************************************************************//**
  180 + * @brief Return livetime
  181 + *
  182 + * @return Livetime (seconds).
  183 + ***************************************************************************/
  184 +inline
  185 +double GCOMObservation::livetime(void) const
  186 +{
  187 + // Return livetime
  188 + return (m_livetime);
  189 +}
  190 +
  191 +
  192 +/***********************************************************************//**
  193 + * @brief Return deadtime correction factor
  194 + *
  195 + * @param[in] time Time.
  196 + *
  197 + * @return Deadtime correction factor.
  198 + ***************************************************************************/
  199 +inline
  200 +double GCOMObservation::deadc(const GTime& time) const
  201 +{
  202 + // Return livetime
  203 + return (m_deadc);
  204 +}
  205 +
  206 +
  207 +/***********************************************************************//**
  208 + * @brief Set observation ID
  209 + *
  210 + * @param[in] id Observation ID.
  211 + ***************************************************************************/
  212 +inline
  213 +void GCOMObservation::obs_id(const double& id)
  214 +{
  215 + m_obs_id = id;
  216 + return;
  217 +}
  218 +
  219 +
  220 +/***********************************************************************//**
  221 + * @brief Set ontime
  222 + *
  223 + * @param[in] ontime Ontime.
  224 + ***************************************************************************/
  225 +inline
  226 +void GCOMObservation::ontime(const double& ontime)
  227 +{
  228 + m_ontime = ontime;
  229 + return;
  230 +}
  231 +
  232 +
  233 +/***********************************************************************//**
  234 + * @brief Set livetime
  235 + *
  236 + * @param[in] livetime Livetime.
  237 + ***************************************************************************/
  238 +inline
  239 +void GCOMObservation::livetime(const double& livetime)
  240 +{
  241 + m_livetime = livetime;
  242 + return;
  243 +}
  244 +
  245 +
  246 +/***********************************************************************//**
  247 + * @brief Set deadtime correction factor
  248 + *
  249 + * @param[in] deadc Deadtime correction factor.
  250 + ***************************************************************************/
  251 +inline
  252 +void GCOMObservation::deadc(const double& deadc)
  253 +{
  254 + m_deadc = deadc;
  255 + return;
  256 +}
  257 +
  258 +
  259 +/***********************************************************************//**
  260 + * @brief Set energy width
  261 + *
  262 + * @param[in] ewidth Energy width (MeV).
  263 + ***************************************************************************/
  264 +inline
  265 +void GCOMObservation::ewidth(const double& ewidth)
  266 +{
  267 + m_ewidth = ewidth;
  268 + return;
  269 +}
  270 +
  271 +
  272 +/***********************************************************************//**
  273 + * @brief Return observation ID
  274 + *
  275 + * @return Observation ID.
  276 + ***************************************************************************/
  277 +inline
  278 +const double& GCOMObservation::obs_id(void) const
  279 +{
  280 + // Return observation ID
  281 + return (m_obs_id);
  282 +}
  283 +
  284 +
  285 +/***********************************************************************//**
  286 + * @brief Return energy width
  287 + *
  288 + * @return Energy width (MeV).
  289 + ***************************************************************************/
  290 +inline
  291 +const double& GCOMObservation::ewidth(void) const
  292 +{
  293 + // Return energy width
  294 + return (m_ewidth);
  295 +}
  296 +
  297 +
  298 +/***********************************************************************//**
  299 + * @brief Return background model
  300 + *
  301 + * @return Background model.
  302 + ***************************************************************************/
  303 +inline
  304 +const GSkyMap& GCOMObservation::drb(void) const
  305 +{
  306 + // Return background model
  307 + return (m_drb);
  308 +}
  309 +
  310 +
  311 +/***********************************************************************//**
  312 + * @brief Return geometry factors
  313 + *
  314 + * @return Geometry factors.
  315 + ***************************************************************************/
  316 +inline
  317 +const GSkyMap& GCOMObservation::drg(void) const
  318 +{
  319 + // Return geometry factors
  320 + return (m_drg);
  321 +}
  322 +
  323 +
  324 +/***********************************************************************//**
  325 + * @brief Return exposure
  326 + *
  327 + * @return Exposure.
  328 + ***************************************************************************/
  329 +inline
  330 +const GSkyMap& GCOMObservation::drx(void) const
  331 +{
  332 + // Return exposure
  333 + return (m_drx);
  334 +}
  335 +
150 336 #endif /* GCOMOBSERVATION_HPP */
... ...