CSPadPixCoords::PixCoordsQuad Class Reference
[CSPadPixCoords package]

PixCoordsQuad class defines the quad pixel coordinates in its local frame. More...

#include <PixCoordsQuad.h>

List of all members.

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)


Detailed Description

PixCoordsQuad class defines the quad pixel coordinates in its local frame.

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.

See also:
CSPadImageProducer, PixCoordsTest
Version:
Id
PixCoordsQuad.h 8040 2014-04-19 01:00:36Z dubrovin@SLAC.STANFORD.EDU
Author:
Mikhail S. Dubrovin

Definition at line 58 of file PixCoordsQuad.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
NQuadsInCSPad 

Definition at line 61 of file PixCoordsQuad.h.

anonymous enum

Enumerator:
N2x1InQuad 

Definition at line 62 of file PixCoordsQuad.h.

anonymous enum

Enumerator:
NCols2x1 

Definition at line 63 of file PixCoordsQuad.h.

anonymous enum

Enumerator:
NRows2x1 

Definition at line 64 of file PixCoordsQuad.h.


Constructor & Destructor Documentation

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.

Parameters:
[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.


Member Function Documentation

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().


The documentation for this class was generated from the following files:
Generated on 19 Dec 2016 for PSANAmodules by  doxygen 1.4.7