cscript_obs.py
3.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#! /usr/bin/env python
# ==========================================================================
# [WHAT] script
#
# Copyright (C) [YEAR] [AUTHOR]
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# ==========================================================================
import sys
import gammalib
import ctools
# ================= #
# cscript_obs class #
# ================= #
class cscript_obs(ctools.csobservation):
"""
[WHAT] script
"""
# Constructor
def __init__(self, *argv):
"""
Constructor
Parameters
----------
argv : list of str
List of IRAF command line parameter strings of the form
``parameter=3``.
"""
# Initialise application by calling the base class constructor
self._init_csobservation(self.__class__.__name__, ctools.__version__, argv)
# Return
return
# State methods for pickling
def __getstate__(self):
"""
Extend ctools.csobservation __getstate__ method
Returns
-------
state : dict
Pickled instance
"""
# Set pickled dictionary
state = {'base' : ctools.csobservation.__getstate__(self)}
# Return pickled dictionary
return state
def __setstate__(self, state):
"""
Extend ctools.csobservation __setstate__ method
Parameters
----------
state : dict
Pickled instance
"""
# Set state
ctools.csobservation.__setstate__(self, state['base'])
# Return
return
# Private methods
def _get_parameters(self):
"""
Get parameters from parfile
"""
# TODO: Add code to query all relevant parameters
# Write input parameters into logger
self._log_parameters(gammalib.TERSE)
# Return
return
# Public methods
def run(self):
"""
Run the script
"""
# Switch screen logging on in debug mode
if self._logDebug():
self._log.cout(True)
# Get parameters
self._get_parameters()
# TODO: Your code goes here
# Return
return
def save(self):
"""
Save something
"""
# Write header
self._log_header1(gammalib.TERSE, 'Save something')
# TODO: Your code goes here
# Return
return
# ======================== #
# Main routine entry point #
# ======================== #
if __name__ == '__main__':
# Create instance of application
app = cscript_obs(sys.argv)
# Execute application
app.execute()