Commit bbef48c77c157da895973a550001fa8df6741b91

Authored by Jürgen Knödlseder
1 parent 5eb3da0b

Replaced observed parameters by GEvent in irf_ptsrc(), irf_extended() and irf_diffuse() methods.

include/GResponse.hpp
@@ -90,23 +90,17 @@ public: @@ -90,23 +90,17 @@ public:
90 const GEnergy& srcEng, 90 const GEnergy& srcEng,
91 const GTime& srcTime, 91 const GTime& srcTime,
92 const GObservation& obs) const; 92 const GObservation& obs) const;
93 - virtual double irf_ptsrc(const GInstDir& obsDir,  
94 - const GEnergy& obsEng,  
95 - const GTime& obsTime, 93 + virtual double irf_ptsrc(const GEvent& event,
96 const GModelPointSource& model, 94 const GModelPointSource& model,
97 const GEnergy& srcEng, 95 const GEnergy& srcEng,
98 const GTime& srcTime, 96 const GTime& srcTime,
99 - const GObservation& obs) const;  
100 - virtual double irf_extended(const GInstDir& obsDir,  
101 - const GEnergy& obsEng,  
102 - const GTime& obsTime, 97 + const GObservation& obs) const;
  98 + virtual double irf_extended(const GEvent& event,
103 const GModelExtendedSource& model, 99 const GModelExtendedSource& model,
104 const GEnergy& srcEng, 100 const GEnergy& srcEng,
105 const GTime& srcTime, 101 const GTime& srcTime,
106 const GObservation& obs) const; 102 const GObservation& obs) const;
107 - virtual double irf_diffuse(const GInstDir& obsDir,  
108 - const GEnergy& obsEng,  
109 - const GTime& obsTime, 103 + virtual double irf_diffuse(const GEvent& event,
110 const GModelDiffuseSource& model, 104 const GModelDiffuseSource& model,
111 const GEnergy& srcEng, 105 const GEnergy& srcEng,
112 const GTime& srcTime, 106 const GTime& srcTime,
pyext/GResponse.i
@@ -60,23 +60,17 @@ public: @@ -60,23 +60,17 @@ public:
60 const GEnergy& srcEng, 60 const GEnergy& srcEng,
61 const GTime& srcTime, 61 const GTime& srcTime,
62 const GObservation& obs) const; 62 const GObservation& obs) const;
63 - virtual double irf_ptsrc(const GInstDir& obsDir,  
64 - const GEnergy& obsEng,  
65 - const GTime& obsTime, 63 + virtual double irf_ptsrc(const GEvent& event,
66 const GModelPointSource& model, 64 const GModelPointSource& model,
67 const GEnergy& srcEng, 65 const GEnergy& srcEng,
68 const GTime& srcTime, 66 const GTime& srcTime,
69 const GObservation& obs) const; 67 const GObservation& obs) const;
70 - virtual double irf_extended(const GInstDir& obsDir,  
71 - const GEnergy& obsEng,  
72 - const GTime& obsTime, 68 + virtual double irf_extended(const GEvent& event,
73 const GModelExtendedSource& model, 69 const GModelExtendedSource& model,
74 const GEnergy& srcEng, 70 const GEnergy& srcEng,
75 const GTime& srcTime, 71 const GTime& srcTime,
76 const GObservation& obs) const; 72 const GObservation& obs) const;
77 - virtual double irf_diffuse(const GInstDir& obsDir,  
78 - const GEnergy& obsEng,  
79 - const GTime& obsTime, 73 + virtual double irf_diffuse(const GEvent& event,
80 const GModelDiffuseSource& model, 74 const GModelDiffuseSource& model,
81 const GEnergy& srcEng, 75 const GEnergy& srcEng,
82 const GTime& srcTime, 76 const GTime& srcTime,
src/obs/GResponse.cpp
@@ -179,16 +179,13 @@ double GResponse::irf(const GEvent& event, @@ -179,16 +179,13 @@ double GResponse::irf(const GEvent& event,
179 179
180 // Call model dependent method 180 // Call model dependent method
181 if (ptsrc != NULL) { 181 if (ptsrc != NULL) {
182 - irf = irf_ptsrc(event.dir(), event.energy(), event.time(),  
183 - *ptsrc, srcEng, srcTime, obs); 182 + irf = irf_ptsrc(event, *ptsrc, srcEng, srcTime, obs);
184 } 183 }
185 else if (extsrc != NULL) { 184 else if (extsrc != NULL) {
186 - irf = irf_extended(event.dir(), event.energy(), event.time(),  
187 - *extsrc, srcEng, srcTime, obs); 185 + irf = irf_extended(event, *extsrc, srcEng, srcTime, obs);
188 } 186 }
189 else if (difsrc != NULL) { 187 else if (difsrc != NULL) {
190 - irf = irf_diffuse(event.dir(), event.energy(), event.time(),  
191 - *difsrc, srcEng, srcTime, obs); 188 + irf = irf_diffuse(event, *difsrc, srcEng, srcTime, obs);
192 } 189 }
193 190
194 // Apply deadtime correction 191 // Apply deadtime correction
@@ -202,27 +199,23 @@ double GResponse::irf(const GEvent& event, @@ -202,27 +199,23 @@ double GResponse::irf(const GEvent& event,
202 /***********************************************************************//** 199 /***********************************************************************//**
203 * @brief Return value of point source instrument response function 200 * @brief Return value of point source instrument response function
204 * 201 *
205 - * @param[in] obsDir Observed photon direction.  
206 - * @param[in] obsEng Observed energy of photon.  
207 - * @param[in] obsTime Observed photon arrival time. 202 + * @param[in] event Observed event.
208 * @param[in] model Point source model. 203 * @param[in] model Point source model.
209 * @param[in] srcEng True energy of photon. 204 * @param[in] srcEng True energy of photon.
210 * @param[in] srcTime True photon arrival time. 205 * @param[in] srcTime True photon arrival time.
211 * @param[in] obs Observation. 206 * @param[in] obs Observation.
212 ***************************************************************************/ 207 ***************************************************************************/
213 -double GResponse::irf_ptsrc(const GInstDir& obsDir,  
214 - const GEnergy& obsEng,  
215 - const GTime& obsTime, 208 +double GResponse::irf_ptsrc(const GEvent& event,
216 const GModelPointSource& model, 209 const GModelPointSource& model,
217 const GEnergy& srcEng, 210 const GEnergy& srcEng,
218 const GTime& srcTime, 211 const GTime& srcTime,
219 const GObservation& obs) const 212 const GObservation& obs) const
220 { 213 {
221 - // Get point source location  
222 - GSkyDir srcDir = model.dir();  
223 - 214 + // Set Photon
  215 + GPhoton photon(model.dir(), srcEng, srcTime);
  216 +
224 // Compute IRF 217 // Compute IRF
225 - double irf = this->irf(obsDir, obsEng, obsTime, srcDir, srcEng, srcTime, obs); 218 + double irf = this->irf(event, photon, obs);
226 219
227 // Return IRF 220 // Return IRF
228 return irf; 221 return irf;
@@ -232,9 +225,7 @@ double GResponse::irf_ptsrc(const GInstDir& obsDir, @@ -232,9 +225,7 @@ double GResponse::irf_ptsrc(const GInstDir& obsDir,
232 /***********************************************************************//** 225 /***********************************************************************//**
233 * @brief Return value of extended source instrument response function 226 * @brief Return value of extended source instrument response function
234 * 227 *
235 - * @param[in] obsDir Observed photon direction.  
236 - * @param[in] obsEng Observed energy of photon.  
237 - * @param[in] obsTime Observed photon arrival time. 228 + * @param[in] event Observed event.
238 * @param[in] model Exteded source model. 229 * @param[in] model Exteded source model.
239 * @param[in] srcEng True energy of photon. 230 * @param[in] srcEng True energy of photon.
240 * @param[in] srcTime True photon arrival time. 231 * @param[in] srcTime True photon arrival time.
@@ -242,9 +233,7 @@ double GResponse::irf_ptsrc(const GInstDir& obsDir, @@ -242,9 +233,7 @@ double GResponse::irf_ptsrc(const GInstDir& obsDir,
242 * 233 *
243 * @todo Generic method is not yet implemented. 234 * @todo Generic method is not yet implemented.
244 ***************************************************************************/ 235 ***************************************************************************/
245 -double GResponse::irf_extended(const GInstDir& obsDir,  
246 - const GEnergy& obsEng,  
247 - const GTime& obsTime, 236 +double GResponse::irf_extended(const GEvent& event,
248 const GModelExtendedSource& model, 237 const GModelExtendedSource& model,
249 const GEnergy& srcEng, 238 const GEnergy& srcEng,
250 const GTime& srcTime, 239 const GTime& srcTime,
@@ -262,9 +251,7 @@ double GResponse::irf_extended(const GInstDir& obsDir, @@ -262,9 +251,7 @@ double GResponse::irf_extended(const GInstDir& obsDir,
262 /***********************************************************************//** 251 /***********************************************************************//**
263 * @brief Return value of diffuse source instrument response function 252 * @brief Return value of diffuse source instrument response function
264 * 253 *
265 - * @param[in] obsDir Observed photon direction.  
266 - * @param[in] obsEng Observed energy of photon.  
267 - * @param[in] obsTime Observed photon arrival time. 254 + * @param[in] event Observed event.
268 * @param[in] model Diffuse source model. 255 * @param[in] model Diffuse source model.
269 * @param[in] srcEng True energy of photon. 256 * @param[in] srcEng True energy of photon.
270 * @param[in] srcTime True photon arrival time. 257 * @param[in] srcTime True photon arrival time.
@@ -272,9 +259,7 @@ double GResponse::irf_extended(const GInstDir& obsDir, @@ -272,9 +259,7 @@ double GResponse::irf_extended(const GInstDir& obsDir,
272 * 259 *
273 * @todo Generic method is not yet implemented. 260 * @todo Generic method is not yet implemented.
274 ***************************************************************************/ 261 ***************************************************************************/
275 -double GResponse::irf_diffuse(const GInstDir& obsDir,  
276 - const GEnergy& obsEng,  
277 - const GTime& obsTime, 262 +double GResponse::irf_diffuse(const GEvent& event,
278 const GModelDiffuseSource& model, 263 const GModelDiffuseSource& model,
279 const GEnergy& srcEng, 264 const GEnergy& srcEng,
280 const GTime& srcTime, 265 const GTime& srcTime,
@@ -352,11 +337,11 @@ double GResponse::npred_ptsrc(const GModelPointSource& model, @@ -352,11 +337,11 @@ double GResponse::npred_ptsrc(const GModelPointSource& model,
352 const GTime& srcTime, 337 const GTime& srcTime,
353 const GObservation& obs) const 338 const GObservation& obs) const
354 { 339 {
355 - // Get point source location  
356 - GSkyDir srcDir = model.dir(); 340 + // Set photon
  341 + GPhoton photon(model.dir(), srcEng, srcTime);
357 342
358 // Compute Npred 343 // Compute Npred
359 - double npred = this->npred(srcDir, srcEng, srcTime, obs); 344 + double npred = this->npred(photon, obs);
360 345
361 // Return Npred 346 // Return Npred
362 return npred; 347 return npred;
@@ -565,8 +550,11 @@ double GResponse::npred_kern_phi::eval(double phi) @@ -565,8 +550,11 @@ double GResponse::npred_kern_phi::eval(double phi)
565 GSkyDir srcDir; 550 GSkyDir srcDir;
566 srcDir.celvector(cel); 551 srcDir.celvector(cel);
567 552
  553 + // Set photon
  554 + GPhoton photon(srcDir, *m_srcEng, *m_srcTime);
  555 +
568 // Compute Npred for this sky direction 556 // Compute Npred for this sky direction
569 - double npred = m_rsp->npred(srcDir, *m_srcEng, *m_srcTime, *m_obs); 557 + double npred = m_rsp->npred(photon, *m_obs);
570 558
571 // Debug: Check for NaN 559 // Debug: Check for NaN
572 #if defined(G_NAN_CHECK) 560 #if defined(G_NAN_CHECK)