Commit 115b12d6465ae10c613d1420d669beaed093d9be

Authored by Jürgen Knödlseder
1 parent e950b6d6

Add LMC survey

Showing 1 changed file with 63 additions and 4 deletions
examples/make_pointings.py
... ... @@ -240,6 +240,59 @@ def set_gc(lst=True):
240 240 return obsdef
241 241  
242 242  
  243 +# ============= #
  244 +# Setup LMC KSP #
  245 +# ============= #
  246 +def set_lmc(hours=250.0, lst=True):
  247 + """
  248 + Setup LMC KSP.
  249 + """
  250 + # Initialise observation definition
  251 + obsdef = []
  252 +
  253 + # Set LMC centre
  254 + centre = gammalib.GSkyDir()
  255 + centre.radec_deg(80.0, -69.0)
  256 +
  257 + # Set offset angle and number of pointings
  258 + offset = 1.0 # degrees
  259 + n_pnt = 12
  260 +
  261 + # Prepare computations
  262 + dphi = 360.0/n_pnt
  263 + duration = hours*3600.0/float(n_pnt)
  264 +
  265 + # Loop over pointings
  266 + for ipnt in range(n_pnt):
  267 +
  268 + # Compute pointing direction
  269 + pnt = centre.copy()
  270 + pnt.rotate_deg(ipnt*dphi, offset)
  271 + lon = pnt.l_deg()
  272 + lat = pnt.b_deg()
  273 +
  274 + # Set positions and duration
  275 + obs = {'lon': lon, 'lat': lat, 'duration': duration}
  276 +
  277 + # Add IRF
  278 + caldb = "aar"
  279 + if lst:
  280 + irf = "DESY20140105_50h"
  281 + else:
  282 + irf = "DESY20140105_50h_noLST"
  283 + obs['caldb'] = caldb
  284 + obs['irf'] = irf
  285 +
  286 + # Append observation
  287 + obsdef.append(obs)
  288 +
  289 + # Dump statistics
  290 + print("Number of pointings: %d (%.2f sec)" % (n_pnt,duration))
  291 +
  292 + # Return observation definition
  293 + return obsdef
  294 +
  295 +
243 296 # ======================================= #
244 297 # Write observation definition dictionary #
245 298 # ======================================= #
... ... @@ -302,13 +355,14 @@ if __name__ == '__main__':
302 355 if need_help:
303 356 print("Usage: make_pointing.py [OPTIONS]")
304 357 print(" -h Display this usage message")
305   - print(" gps Galactic plane scan (2 row scheme)")
306   - print(" gps3 Galactic plane scan (3 row scheme)")
  358 + print(" gps Galactic plane survey (2 row scheme)")
  359 + print(" gps3 Galactic plane survey (3 row scheme)")
307 360 print(" extgal Extragalactic survey")
308   - print(" gc Galactic centre")
  361 + print(" gc Galactic centre survey")
  362 + print(" lmc LMC survey")
309 363 sys.exit()
310 364  
311   - # Galactic plane scan
  365 + # Galactic plane survey
312 366 if obsname == "gps":
313 367 obsdef = set_gps(lst=True)
314 368 write_obsdef("gps.dat", obsdef)
... ... @@ -326,6 +380,11 @@ if __name__ == '__main__':
326 380 obsdef = set_gc(lst=True)
327 381 write_obsdef("gc.dat", obsdef)
328 382  
  383 + # LMC
  384 + elif obsname == "lmc":
  385 + obsdef = set_lmc(lst=True)
  386 + write_obsdef("lmc.dat", obsdef)
  387 +
329 388 # Invalid pattern
330 389 else:
331 390 print("Unknown option \""+obsname+"\"")
... ...