source: fiins.py@ 4

Last change on this file since 4 was 4, checked in by JohnLightfoot, 10 years ago

initial import

File size: 2.1 KB
Line 
1from __future__ import absolute_import
2
3import collections
4
5import beamsgenerator
6import doublefourier
7import fts
8import loadparameters
9import pointingerrors
10import renderer
11import skygenerator
12import uvmapgenerator
13
14
15class Fiins(object):
16 """FISICA simulator.
17 """
18 def __init__(self, sky_spreadsheet='SkySparams.xlsx', sky_sheet='1point'):
19 self.sky_spreadsheet = sky_spreadsheet
20 self.sky_sheet = sky_sheet
21 self.result = collections.OrderedDict()
22
23 def simulate(self):
24 # read parameters
25 loadparams = loadparameters.LoadParameters(
26 sky_spreadsheet=self.sky_spreadsheet,
27 sky_sheet=self.sky_sheet)
28 obs_specification = loadparams.run()
29 self.result['loadparameters'] = obs_specification
30
31 # generate UV map
32 uvmapgen = uvmapgenerator.UVMapGenerator(parameters=obs_specification)
33 self.result['uvmapgenerator'] = uvmapgen.run()
34
35 # generate information on the FTS
36 ftsd = fts.FTS(parameters=obs_specification)
37 self.result['fts'] = ftsd.run()
38
39 # generate primary beams
40 beamsgen = beamsgenerator.BeamsGenerator(
41 previous_results=self.result)
42 self.result['beamsgenerator'] = beamsgen.run()
43
44 # pointing errors
45 pointingerrs = pointingerrors.PointingErrors(
46 parameters=obs_specification)
47 self.result['pointingerrors'] = pointingerrs.run()
48
49 # construct sky
50 skygen = skygenerator.SkyGenerator(parameters=obs_specification,
51 previous_results=self.result)
52 self.result['skygenerator'] = skygen.run()
53
54 # calculate interferograms
55 doublef = doublefourier.DoubleFourier(parameters=obs_specification,
56 previous_results=self.result)
57 self.result['doublefourier'] = doublef.run()
58
59 # construct html description of result
60 self.render()
61
62 def import_result(self):
63 print 'does nothing'
64
65 def render(self):
66 htmlrenderer = renderer.Renderer(result=self.result)
67 htmlrenderer.run()
68
69 def __repr__(self):
70 return 'FISICA simulator'
71
Note: See TracBrowser for help on using the repository browser.