Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1 

2 

3import lsst.geom as geom 

4import lsst.afw.cameraGeom as cameraGeom 

5 

6pixelSize = 24e-3 # pixel size in mm 

7 

8 

9def 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 

18def makeCcd(ccdName): 

19 ccd = cameraGeom.Ccd(cameraGeom.Id(ccdName), pixelSize) 

20 ccd.addAmp(1, 0, makeAmp(1)) 

21 return ccd 

22 

23 

24def 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 

31def 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