LSSTApplications  18.1.0
LSSTDataManagementBasePackage
makeCamera.py
Go to the documentation of this file.
1 
2 
3 import lsst.afw.geom as afwGeom
4 import lsst.afw.cameraGeom as cameraGeom
5 
6 pixelSize = 24e-3 # pixel size in mm
7 
8 
9 def makeAmp(i):
10  # TODO DM-9294: remove this exception and uncomment the rest of the code after fixing it
11  raise RuntimeError("this routine is broken because nExtended and nOverclock are not defined")
12  # height = 2048
13  # width = 4096
14  # allPixels = afwGeom.BoxI(afwGeom.PointI(0, 0), afwGeom.ExtentI(width + nExtended + nOverclock, height))
15  # return cameraGeom.Amp(cameraGeom.Id(i), allPixels, None, None, None)
16 
17 
18 def makeCcd(ccdName):
19  ccd = cameraGeom.Ccd(cameraGeom.Id(ccdName), pixelSize)
20  ccd.addAmp(1, 0, makeAmp(1))
21  return ccd
22 
23 
24 def makeRaft(raftName):
25  dewar = cameraGeom.Raft(cameraGeom.Id("DECam"), 1, 1)
26  dewar.addDetector(afwGeom.PointI(0, 0), cameraGeom.FpPoint(0.0, 0.0),
27  cameraGeom.Orientation(0), makeCcd(raftName))
28  return dewar
29 
30 
31 def makeCamera(name="DECam"):
32  camera = cameraGeom.Camera(cameraGeom.Id(name), 62, 1)
33 
34  for i in range(62):
35  if i > 31:
36  dewarName = "S%d" % (62-i+1)
37  else:
38  dewarName = "S%d" % (i+1)
39  camera.addDetector(afwGeom.PointI(i, 0), cameraGeom.FpPoint(25.4*2.5*(2.5 - i), 0.0),
40  cameraGeom.Orientation(0), makeRaft(dewarName))
41 
42  return camera
def makeCamera(name="DECam")
Definition: makeCamera.py:31
def makeRaft(raftName)
Definition: makeCamera.py:24