Commit b08b52b88f74fa7115aad483c304bfd166684e03
1 parent
0e194584
Declare functions inline in GCOMObservation and correct class description.
Showing
1 changed file
with
205 additions
and
19 deletions
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 */ | ... | ... |