#include <PixCoordsQuad.h>
Public Types | |
NQuadsInCSPad = 4 | |
N2x1InQuad = Psana::CsPad::SectorsPerQuad | |
NCols2x1 = Psana::CsPad::ColumnsPerASIC | |
NRows2x1 = Psana::CsPad::MaxRowsPerASIC * 2 | |
enum | { NQuadsInCSPad = 4 } |
enum | { N2x1InQuad = Psana::CsPad::SectorsPerQuad } |
enum | { NCols2x1 = Psana::CsPad::ColumnsPerASIC } |
enum | { NRows2x1 = Psana::CsPad::MaxRowsPerASIC * 2 } |
Public Member Functions | |
PixCoordsQuad (PixCoords2x1 *pix_coords_2x1, PSCalib::CSPadCalibPars *cspad_calibpar, bool tiltIsApplied=true) | |
PixCoordsQuad class fills and provides access to the quad pixel coordinates. | |
virtual | ~PixCoordsQuad () |
void | fillAllQuads () |
void | fillOneQuad (uint32_t quad) |
void | fillOneSectionInQuad (uint32_t quad, uint32_t sect, double xcenter, double ycenter, double zcenter, double rotation) |
void | fillOneSectionTiltedInQuad (uint32_t quad, uint32_t sect, double xcenter, double ycenter, double zcenter, double rotation, double tilt) |
void | setConstXYMinMax () |
double | getPixCoorRot000_um (CSPadPixCoords::PixCoords2x1::COORDINATE icoor, unsigned quad, unsigned sect, unsigned row, unsigned col) |
double | getPixCoorRot090_um (CSPadPixCoords::PixCoords2x1::COORDINATE icoor, unsigned quad, unsigned sect, unsigned row, unsigned col) |
double | getPixCoorRot180_um (CSPadPixCoords::PixCoords2x1::COORDINATE icoor, unsigned quad, unsigned sect, unsigned row, unsigned col) |
double | getPixCoorRot270_um (CSPadPixCoords::PixCoords2x1::COORDINATE icoor, unsigned quad, unsigned sect, unsigned row, unsigned col) |
double | getPixCoorRot000_pix (CSPadPixCoords::PixCoords2x1::COORDINATE icoor, unsigned quad, unsigned sect, unsigned row, unsigned col) |
double | getPixCoorRot090_pix (CSPadPixCoords::PixCoords2x1::COORDINATE icoor, unsigned quad, unsigned sect, unsigned row, unsigned col) |
double | getPixCoorRot180_pix (CSPadPixCoords::PixCoords2x1::COORDINATE icoor, unsigned quad, unsigned sect, unsigned row, unsigned col) |
double | getPixCoorRot270_pix (CSPadPixCoords::PixCoords2x1::COORDINATE icoor, unsigned quad, unsigned sect, unsigned row, unsigned col) |
double | getPixCoorRotN90_um (CSPadPixCoords::PixCoords2x1::ORIENTATION orient, CSPadPixCoords::PixCoords2x1::COORDINATE icoor, unsigned quad, unsigned sect, unsigned row, unsigned col) |
double | getPixCoorRotN90_pix (CSPadPixCoords::PixCoords2x1::ORIENTATION orient, CSPadPixCoords::PixCoords2x1::COORDINATE icoor, unsigned quad, unsigned sect, unsigned row, unsigned col) |
double | getPixCoorRotN90 (CSPadPixCoords::PixCoords2x1::UNITS units, CSPadPixCoords::PixCoords2x1::ORIENTATION orient, CSPadPixCoords::PixCoords2x1::COORDINATE icoor, unsigned quad, unsigned sect, unsigned row, unsigned col) |
Use the same frame like in optical measurement, but in "matrix style" geometry: X axis goes along rows (from top to bottom) Y axis goes along columns (from left to right)
This software was developed for the LCLS project. If you use all or part of it, please give an appropriate acknowledgment.
Definition at line 58 of file PixCoordsQuad.h.
anonymous enum |
anonymous enum |
anonymous enum |
anonymous enum |
CSPadPixCoords::PixCoordsQuad::PixCoordsQuad | ( | PixCoords2x1 * | pix_coords_2x1, | |
PSCalib::CSPadCalibPars * | cspad_calibpar, | |||
bool | tiltIsApplied = true | |||
) |
PixCoordsQuad class fills and provides access to the quad pixel coordinates.
Fills/holds/provides access to the array of the quad coordinates, indexed by the quad, section, row, and column.
[in] | pix_coords_2x1 | Pointer to the object with 2x1 section pixel coordinates. |
[in] | cspad_calibpar | Pointer to the object with geometry calibration parameters. |
[in] | tiltIsApplied | Boolean key indicating if the tilt angle correction for 2x1 and Quads is applied |
Definition at line 44 of file PixCoordsQuad.cpp.
References fillAllQuads(), setConstXYMinMax(), CSPadPixCoords::PixCoords2x1::X, CSPadPixCoords::PixCoords2x1::Y, and CSPadPixCoords::PixCoords2x1::Z.
CSPadPixCoords::PixCoordsQuad::~PixCoordsQuad | ( | ) | [virtual] |
Definition at line 379 of file PixCoordsQuad.cpp.
void CSPadPixCoords::PixCoordsQuad::fillAllQuads | ( | ) |
Definition at line 63 of file PixCoordsQuad.cpp.
References fillOneQuad(), and NQuadsInCSPad.
Referenced by PixCoordsQuad().
void CSPadPixCoords::PixCoordsQuad::fillOneQuad | ( | uint32_t | quad | ) |
Definition at line 82 of file PixCoordsQuad.cpp.
References fillOneSectionInQuad(), fillOneSectionTiltedInQuad(), PSCalib::CSPadCalibPars::getRowSize_um(), N2x1InQuad, and CSPadPixCoords::rotation().
Referenced by fillAllQuads().
void CSPadPixCoords::PixCoordsQuad::fillOneSectionInQuad | ( | uint32_t | quad, | |
uint32_t | sect, | |||
double | xcenter, | |||
double | ycenter, | |||
double | zcenter, | |||
double | rotation | |||
) |
Definition at line 122 of file PixCoordsQuad.cpp.
References CSPadPixCoords::PixCoords2x1::getOrientation(), CSPadPixCoords::PixCoords2x1::getPixCoorRotN90_um(), CSPadPixCoords::PixCoords2x1::getXCenterOffset_um(), CSPadPixCoords::PixCoords2x1::getYCenterOffset_um(), NCols2x1, and NRows2x1.
Referenced by fillOneQuad().
void CSPadPixCoords::PixCoordsQuad::fillOneSectionTiltedInQuad | ( | uint32_t | quad, | |
uint32_t | sect, | |||
double | xcenter, | |||
double | ycenter, | |||
double | zcenter, | |||
double | rotation, | |||
double | tilt | |||
) |
Definition at line 151 of file PixCoordsQuad.cpp.
References CSPadPixCoords::PixCoords2x1::getOrientation(), CSPadPixCoords::PixCoords2x1::getPixCoorRotN90_um(), CSPadPixCoords::PixCoords2x1::getXCenterOffset_um(), CSPadPixCoords::PixCoords2x1::getYCenterOffset_um(), NCols2x1, and NRows2x1.
Referenced by fillOneQuad().
double CSPadPixCoords::PixCoordsQuad::getPixCoorRot000_pix | ( | CSPadPixCoords::PixCoords2x1::COORDINATE | icoor, | |
unsigned | quad, | |||
unsigned | sect, | |||
unsigned | row, | |||
unsigned | col | |||
) |
Definition at line 281 of file PixCoordsQuad.cpp.
References PSCalib::CSPadCalibPars::getColUmToPix(), getPixCoorRot000_um(), PSCalib::CSPadCalibPars::getRowUmToPix(), CSPadPixCoords::PixCoords2x1::X, CSPadPixCoords::PixCoords2x1::Y, and CSPadPixCoords::PixCoords2x1::Z.
Referenced by getPixCoorRotN90_pix().
double CSPadPixCoords::PixCoordsQuad::getPixCoorRot000_um | ( | CSPadPixCoords::PixCoords2x1::COORDINATE | icoor, | |
unsigned | quad, | |||
unsigned | sect, | |||
unsigned | row, | |||
unsigned | col | |||
) |
Access methods return the coordinate for indicated axis, quad, section, row, and column indexes after the quad rotation by n*90 degree. The pixel coordinates can be returned in um(micrometers) and pix(pixels).
Definition at line 226 of file PixCoordsQuad.cpp.
References CSPadPixCoords::PixCoords2x1::X, CSPadPixCoords::PixCoords2x1::Y, and CSPadPixCoords::PixCoords2x1::Z.
Referenced by getPixCoorRot000_pix(), and getPixCoorRotN90_um().
double CSPadPixCoords::PixCoordsQuad::getPixCoorRot090_pix | ( | CSPadPixCoords::PixCoords2x1::COORDINATE | icoor, | |
unsigned | quad, | |||
unsigned | sect, | |||
unsigned | row, | |||
unsigned | col | |||
) |
Definition at line 294 of file PixCoordsQuad.cpp.
References PSCalib::CSPadCalibPars::getColUmToPix(), getPixCoorRot090_um(), PSCalib::CSPadCalibPars::getRowUmToPix(), CSPadPixCoords::PixCoords2x1::X, CSPadPixCoords::PixCoords2x1::Y, and CSPadPixCoords::PixCoords2x1::Z.
Referenced by getPixCoorRotN90_pix().
double CSPadPixCoords::PixCoordsQuad::getPixCoorRot090_um | ( | CSPadPixCoords::PixCoords2x1::COORDINATE | icoor, | |
unsigned | quad, | |||
unsigned | sect, | |||
unsigned | row, | |||
unsigned | col | |||
) |
Definition at line 239 of file PixCoordsQuad.cpp.
References CSPadPixCoords::PixCoords2x1::X, CSPadPixCoords::PixCoords2x1::Y, and CSPadPixCoords::PixCoords2x1::Z.
Referenced by getPixCoorRot090_pix(), and getPixCoorRotN90_um().
double CSPadPixCoords::PixCoordsQuad::getPixCoorRot180_pix | ( | CSPadPixCoords::PixCoords2x1::COORDINATE | icoor, | |
unsigned | quad, | |||
unsigned | sect, | |||
unsigned | row, | |||
unsigned | col | |||
) |
Definition at line 307 of file PixCoordsQuad.cpp.
References PSCalib::CSPadCalibPars::getColUmToPix(), getPixCoorRot180_um(), PSCalib::CSPadCalibPars::getRowUmToPix(), CSPadPixCoords::PixCoords2x1::X, CSPadPixCoords::PixCoords2x1::Y, and CSPadPixCoords::PixCoords2x1::Z.
Referenced by getPixCoorRotN90_pix().
double CSPadPixCoords::PixCoordsQuad::getPixCoorRot180_um | ( | CSPadPixCoords::PixCoords2x1::COORDINATE | icoor, | |
unsigned | quad, | |||
unsigned | sect, | |||
unsigned | row, | |||
unsigned | col | |||
) |
Definition at line 252 of file PixCoordsQuad.cpp.
References CSPadPixCoords::PixCoords2x1::X, CSPadPixCoords::PixCoords2x1::Y, and CSPadPixCoords::PixCoords2x1::Z.
Referenced by getPixCoorRot180_pix(), and getPixCoorRotN90_um().
double CSPadPixCoords::PixCoordsQuad::getPixCoorRot270_pix | ( | CSPadPixCoords::PixCoords2x1::COORDINATE | icoor, | |
unsigned | quad, | |||
unsigned | sect, | |||
unsigned | row, | |||
unsigned | col | |||
) |
Definition at line 320 of file PixCoordsQuad.cpp.
References PSCalib::CSPadCalibPars::getColUmToPix(), getPixCoorRot270_um(), PSCalib::CSPadCalibPars::getRowUmToPix(), CSPadPixCoords::PixCoords2x1::X, CSPadPixCoords::PixCoords2x1::Y, and CSPadPixCoords::PixCoords2x1::Z.
Referenced by getPixCoorRotN90_pix().
double CSPadPixCoords::PixCoordsQuad::getPixCoorRot270_um | ( | CSPadPixCoords::PixCoords2x1::COORDINATE | icoor, | |
unsigned | quad, | |||
unsigned | sect, | |||
unsigned | row, | |||
unsigned | col | |||
) |
Definition at line 265 of file PixCoordsQuad.cpp.
References CSPadPixCoords::PixCoords2x1::X, CSPadPixCoords::PixCoords2x1::Y, and CSPadPixCoords::PixCoords2x1::Z.
Referenced by getPixCoorRot270_pix(), and getPixCoorRotN90_um().
double CSPadPixCoords::PixCoordsQuad::getPixCoorRotN90 | ( | CSPadPixCoords::PixCoords2x1::UNITS | units, | |
CSPadPixCoords::PixCoords2x1::ORIENTATION | orient, | |||
CSPadPixCoords::PixCoords2x1::COORDINATE | icoor, | |||
unsigned | quad, | |||
unsigned | sect, | |||
unsigned | row, | |||
unsigned | col | |||
) |
Definition at line 363 of file PixCoordsQuad.cpp.
References getPixCoorRotN90_pix(), getPixCoorRotN90_um(), CSPadPixCoords::PixCoords2x1::PIX, and CSPadPixCoords::PixCoords2x1::UM.
double CSPadPixCoords::PixCoordsQuad::getPixCoorRotN90_pix | ( | CSPadPixCoords::PixCoords2x1::ORIENTATION | orient, | |
CSPadPixCoords::PixCoords2x1::COORDINATE | icoor, | |||
unsigned | quad, | |||
unsigned | sect, | |||
unsigned | row, | |||
unsigned | col | |||
) |
Definition at line 348 of file PixCoordsQuad.cpp.
References getPixCoorRot000_pix(), getPixCoorRot090_pix(), getPixCoorRot180_pix(), getPixCoorRot270_pix(), CSPadPixCoords::PixCoords2x1::R000, CSPadPixCoords::PixCoords2x1::R090, CSPadPixCoords::PixCoords2x1::R180, and CSPadPixCoords::PixCoords2x1::R270.
Referenced by getPixCoorRotN90().
double CSPadPixCoords::PixCoordsQuad::getPixCoorRotN90_um | ( | CSPadPixCoords::PixCoords2x1::ORIENTATION | orient, | |
CSPadPixCoords::PixCoords2x1::COORDINATE | icoor, | |||
unsigned | quad, | |||
unsigned | sect, | |||
unsigned | row, | |||
unsigned | col | |||
) |
Definition at line 333 of file PixCoordsQuad.cpp.
References getPixCoorRot000_um(), getPixCoorRot090_um(), getPixCoorRot180_um(), getPixCoorRot270_um(), CSPadPixCoords::PixCoords2x1::R000, CSPadPixCoords::PixCoords2x1::R090, CSPadPixCoords::PixCoords2x1::R180, and CSPadPixCoords::PixCoords2x1::R270.
Referenced by CSPadPixCoords::PixCoordsCSPad::fillOneQuadCoordsInCSPad(), CSPadPixCoords::PixCoordsCSPad::fillOneQuadTiltedCoordsInCSPad(), and getPixCoorRotN90().
void CSPadPixCoords::PixCoordsQuad::setConstXYMinMax | ( | ) |
Definition at line 212 of file PixCoordsQuad.cpp.
References PSCalib::CSPadCalibPars::getRowSize_um(), and NQuadsInCSPad.
Referenced by PixCoordsQuad().