ElectrostaticCcdGeom

class lsst.cp.pipe.utils.ElectrostaticCcdGeom(paramDict)

Bases: object

Methods Summary

averageHorizontalBoundaryShift(i, j, topOrBottom)

Integrate the field transverse to the horizontal pixel boundary

averageVerticalBoundaryShift(i, j, leftOrRight)

Average shift of the vertical boundary of pixel (i j).

calcEFieldCoulombChargeSheet(xv, xqv)

xv = where (the last index should address x,y,z.

corner_shift_h2(i, j, topOrBottom[, zf])

dxdy(iMax[, zf])

corner shifts calculations.

eField(xv[, nImageChargePairs])

Field at point xv from the point charge if xv is multi-dimensional, x,y,z should be represented by the last index ([0:3]).

eFieldTransverseToHorizontalPixelEdgeGrid(i, ...)

Returns the field transverse to the horizontal pixel boundary.

eFieldTransverseToVerticalPixelEdgeGrid(i, ...)

Returns the field transverse to the vertical pixel boundary.

evalAreaChangeCorners(iMax[, zf])

pixel area alterations computed through corner shifts

evalAreaChangeSidesFast(iMax[, zf, ...])

Same as EvalAreaChangeSides, but uses direct integration.

integrateEField(xv, component, z0, zf[, ...])

Integrate transverse E Field along Z at point X (2 coordinates, last index).

integrateExFieldFast(iMax, jMax, leftOrRight)

Computes the integrals of Ex along z from self.zsh to zf.

integrateEyFieldFast(iMax, jMax, topOrBottom)

Computes the integral of Ey along z from self.zsh to zf.

Methods Documentation

averageHorizontalBoundaryShift(i, j, topOrBottom, zf=None)

Integrate the field transverse to the horizontal pixel boundary

averageVerticalBoundaryShift(i, j, leftOrRight, zf=None)

Average shift of the vertical boundary of pixel (i j).

calcEFieldCoulombChargeSheet(xv, xqv)

xv = where (the last index should address x,y,z. xqv = charge location Both Should be numpy arrays. if xv is multi-d, the routine assumes that the physical coordinates (x,y,z) are patrolled by the last index. Returns the electric field from a unitely charged horizontal rectangle centered at x_q of size 2a * 2b. The returned electric field assumes 4*pi*epsilon=1.

corner_shift_h2(i, j, topOrBottom, zf=None)
dxdy(iMax, zf=None)

corner shifts calculations. The returned array are larger by 1 than iMax, because there are more corners than pixels

eField(xv, nImageChargePairs=11)

Field at point xv from the point charge if xv is multi-dimensional, x,y,z should be represented by the last index ([0:3]). The computation uses the dipole series trick. The number of dipoles is an optional argument. Odd numbers are better for what we are doing here.

eFieldTransverseToHorizontalPixelEdgeGrid(i, j, topOrBottom, zf=None)

Returns the field transverse to the horizontal pixel boundary. return a 2d array of shifts at evenly spaced points in x and z. normalized in units of pixel size, for a unit charge. The returned array has 3 indices: [along the pixel side, along the drift,E-field coordinate]. The resutl is multiplied by the z- and x- steps, so that the sum is the averge over x, divided by the pixel size.

eFieldTransverseToVerticalPixelEdgeGrid(i, j, leftOrRight, zf=None)

Returns the field transverse to the vertical pixel boundary. return a 3d array of shifts at evenly spaced points in y and z. Ex,y,z is indexed by the last index.

evalAreaChangeCorners(iMax, zf=None)

pixel area alterations computed through corner shifts

evalAreaChangeSidesFast(iMax, zf=None, nImageChargePairs=11)

Same as EvalAreaChangeSides, but uses direct integration. it evaluates the divergence of the discrete boundary displacement field. This routine groups the calls to the field computing routines.

integrateEField(xv, component, z0, zf, nImageChargePairs=11)

Integrate transverse E Field along Z at point X (2 coordinates, last index). The coordinate of the field is given by component (0, or 1). at point X from the point charge The computation uses the dipole series trick. The number of dipoles is an optional argument. Odd numbers are better for what we are doing here.

integrateExFieldFast(iMax, jMax, leftOrRight, zf=None, nImageChargePairs=11)

Computes the integrals of Ex along z from self.zsh to zf. The returned array is 2d of shape (iMax, jMax).

integrateEyFieldFast(iMax, jMax, topOrBottom, zf=None, nImageChargePairs=11)

Computes the integral of Ey along z from self.zsh to zf. The returned array is 2d [0:iMax, 0:jMax].