LSSTApplications  20.0.0
LSSTDataManagementBasePackage
makeCamera.py
Go to the documentation of this file.
1 
2 
3 import lsst.geom as geom
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 = geom.BoxI(geom.PointI(0, 0), geom.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(geom.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(geom.PointI(i, 0), cameraGeom.FpPoint(25.4*2.5*(2.5 - i), 0.0),
40  cameraGeom.Orientation(0), makeRaft(dewarName))
41 
42  return camera
lsst.obs.decam.makeCamera.makeCamera
def makeCamera(name="DECam")
Definition: makeCamera.py:31
lsst.obs.decam.makeCamera.makeAmp
def makeAmp(i)
Definition: makeCamera.py:9
lsst::geom
Definition: geomOperators.dox:4
lsst::afw::cameraGeom
Definition: Amplifier.h:33
lsst::geom::Point< int, 2 >
lsst.obs.decam.makeCamera.makeRaft
def makeRaft(raftName)
Definition: makeCamera.py:24
lsst.obs.decam.makeCamera.makeCcd
def makeCcd(ccdName)
Definition: makeCamera.py:18