27 namespace cameraGeom {
36 _fpPosition(fpPosition),
43 double cosYaw = std::cos(
_yaw);
44 double sinYaw = std::sin(
_yaw);
45 double cosPitch = std::cos(
_pitch);
46 double sinPitch = std::sin(
_pitch);
47 double cosRoll = std::cos(
_roll);
48 double sinRoll = std::sin(
_roll);
55 _rotMat << cosYaw*cosPitch, cosYaw*sinPitch*sinRoll - cosRoll*sinYaw,
56 cosPitch*sinYaw, cosYaw*cosRoll + sinYaw*sinPitch*sinRoll;
74 Eigen::Matrix2d jacobian =
_rotMat.array() \
75 * (Eigen::Vector2d::Ones() * pixelSizeMm.
asEigen().transpose()).array();
int getNQuarter() const
Return the number of quarter turns (rounded to the closest quarter)
geom::AffineXYTransform makeFpPixelTransform(geom::Extent2D const pixelSizeMm) const
Generate an XYTransform from focal plane to pixel coordinates.
lsst::afw::geom::Angle _roll
roll
geom::AffineXYTransform makePixelFpTransform(geom::Extent2D const pixelSizeMm) const
Generate an XYTransform from pixel to focal plane coordinates.
Orientation(geom::Point2D const fpPosition=geom::Point2D(0, 0), geom::Point2D const refPoint=geom::Point2D(-0.5,-0.5), geom::Angle const yaw=geom::Angle(0), geom::Angle const pitch=geom::Angle(0), geom::Angle const roll=geom::Angle(0))
EigenVector const & asEigen() const
Return a fixed-size Eigen representation of the coordinate object.
lsst::afw::geom::Angle _pitch
pitch
Extent< int, N > floor(Extent< double, N > const &input)
lsst::afw::geom::Angle _yaw
yaw
geom::Point2D _refPoint
reference point on detector
Eigen::Matrix< double, 2, 2, Eigen::DontAlign > _rotMat
geom::Point2D _fpPosition
focal plane position of reference point on detector