Commit a499351c3afdd40ee6d2fe7c6fe2d4cc7ecbd212
1 parent
2298bda9
Attach response via XML element creation.
Showing
1 changed file
with
19 additions
and
10 deletions
scripts/csobsdef.py
| ... | ... | @@ -227,12 +227,7 @@ class csobsdef(ctools.cscript): |
| 227 | 227 | irf = pntdef[row, header.index("irf")] |
| 228 | 228 | else: |
| 229 | 229 | irf = self["irf"].string() |
| 230 | - cal = gammalib.GCaldb() | |
| 231 | - if gammalib.dir_exists(caldb): | |
| 232 | - cal.rootdir(caldb) | |
| 233 | - else: | |
| 234 | - cal.open("cta", caldb) | |
| 235 | - obs.response(irf, cal); | |
| 230 | + obs = self.__set_response(obs, caldb, irf) | |
| 236 | 231 | |
| 237 | 232 | # Set deadtime correction factor |
| 238 | 233 | if "deadc" in header: |
| ... | ... | @@ -290,12 +285,26 @@ class csobsdef(ctools.cscript): |
| 290 | 285 | # Return |
| 291 | 286 | return |
| 292 | 287 | |
| 293 | - def __define_observation(self, header, pntdef, ipnt): | |
| 288 | + def __set_response(self, obs, caldb, irf): | |
| 294 | 289 | """ |
| 295 | - Define one oberservation. | |
| 290 | + Set response for an observation. We create an XML element for that | |
| 291 | + so that the response XML writer will write the database and response | |
| 292 | + name into the observation definition file. | |
| 296 | 293 | """ |
| 297 | - # Create CTA observation | |
| 298 | - obs = gammalib.GCTAObservation() | |
| 294 | + # Create XML element | |
| 295 | + xml = gammalib.GXmlElement() | |
| 296 | + | |
| 297 | + # Append parameter | |
| 298 | + parameter = "parameter name=\"Calibration\" database=\""+\ | |
| 299 | + caldb+"\" response=\""+irf+"\"" | |
| 300 | + xml.append(gammalib.GXmlElement(parameter)) | |
| 301 | + | |
| 302 | + # Create CTA response | |
| 303 | + response = gammalib.GCTAResponseIrf() | |
| 304 | + response.read(xml) | |
| 305 | + | |
| 306 | + # Attach response to observation | |
| 307 | + obs.response(response) | |
| 299 | 308 | |
| 300 | 309 | # Return observation |
| 301 | 310 | return obs | ... | ... |