A few packages/classes dedicated to the CSPAD geometry are briefly described in this page with references to more detailed documentation.

Package PSCalib

Package PSCalib provides an access to the calibration parameters.
For complete reference select Doxygen documentation.

Class GeometryAccess

Interface description in doxygen

Class supports universal detector geometry description. More detailed documentation is available in the Detector Geometry page.

Class GeometryObject

Interface description in doxygen

Class defines the elementary building block for hierarchical geometry description. More detailed documentation is available in the Detector Geometry page.

Class CalibFileFinder

Detailed description in Doxygen

CalibFileFinder class finds the path to calibration file. Class constructor creates the object with elements of the path to the calibration file. When all input parameters are provided, the method findCalibFile(...) returns the path/name to the file with requested type of calibration parameters for indicated run number.

Class CSPadCalibPars

Detailed description in Doxygen

CSPadCalibPars class loads/holds/provides access to the CSPad geometry calibration parameters. Class constructor creates an object which loads and holds the calibration parameters of all CSPad geometry types. Access methods allows to extract any of requested parameters.
The CSPad geometry types are defined in the package pdscalibdata by the classes

  • CalibParsCenterV1
  • CalibParsCenterCorrV1
  • CalibParsMargGapShiftV1
  • CalibParsOffsetV1
  • CalibParsOffsetCorrV1
  • CalibParsRotationV1
  • CalibParsTiltV1
  • CalibParsQuadRotationV1
  • CalibParsQuadTiltV1

CSPad position w.r.t. IP is defined by the classes:

  • CsPadBeamVectorV1
  • CsPadBeamIntersectV1

Alternative parameters for optical measurements of entire detector:

  • CsPadCenterGlobalV1
  • CsPadRotationGlobalV1

Calibration files location and structure is explained in CsPad calibration in translator.

Class CSPad2x2CalibPars

Detailed description in Doxygen

CSPad2x2CalibPars class loads/holds/provides access to the CSPad2x2 geometry calibration parameters. Class constructor creates an object which loads and holds the calibration parameters of all CSPad2x2 geometry types. Access methods allows to extract any of requested parameters.
The CSPad2x2 geometry types are defined in the package pdscalibdata by the classes

  • CsPad2x2CenterV1
  • CsPad2x2TiltV1

Package CSPadPixCoords

Package CSPadPixCoords pre-calculates the 2x1 section, quad, and CSPad pixel coordinates. CSPad image is also produced in combination of the pixel coordinates with event data.
For complete reference select Doxygen documentation.

Class Image2D

Detailed description in Doxygen
Image2D class creates the object with a pointer to the 2D array and its sizes. It is assumed that the 2D array contains image data. Methods of this class provide access to the 2D array and its transformed versions after up-down, left-right flips, transpose, and rotations by n*90 degree.

GlobalMethods

Detailed description in Doxygen

CSPadConfigPars

Detailed description in Doxygen

CSPad2x2ConfigPars

Detailed description in Doxygen

Class QuadParameters

QuadParameters class object contains current parameters of the CSPad quad.

Class PixCoords2x1

PixCoords2x1 class defines the 2x1 section pixel coordinates in its local frame. Class constructor calculates the X, Y, and Z pixel coordinates for single 2x1 in its own (matrix style) frame; X coordinate is directed along ascending row index from 0 to 388 (from top to botton for 0 rotation angle), Y coordinate is directed alond descending (ONLINE specific...) column index from 184 to 0 (from left to right for 0 rotation angle). The getPixCoorRot...(...) methods return these coordinates for rotated by N*90 degree 2x1 in um(micrometer) or pixels. Rows and columns are defined like described in ONLINE modules: /reg/g/psdm/sw/external/lusi-xtc/2.12.0a/x86_64-rhel5-gcc41-opt/pdsdata/cspad/ElementIterator.hh, Detector.hh
No parameters needed in constructor; everything is defined through the known 2x1 chip geometry.

Class PixCoords2x1V2

Detailed description in Doxygen

Class PixCoordsCSPad2x2

Detailed description in Doxygen

Class PixCoordsCSPad2x2V2

Detailed description in Doxygen

Class PixCoordsQuad

PixCoordsQuad class defines the quad pixel coordinates in its local frame. The coordinate frame coinsides with that of optical measurement, but in "matrix style" geometry:

  • X axis directed along ascending row index (from top to bottom)
  • Y axis directed along ascending column index (from left to right)
    Pixel coordinates in quad are calculated using precise 2x1 section geometry from the class PixCoords2x1 and the calibration parameters extracted by the PSCalib package.

Class PixCoordsCSPad

PixCoordsCSPad class defines and provides access to the CSPad pixel coordinates. Class constructor fills the arrays of the CSPad pixel coordinates using the PixCoordsQuad class object and the calibration parameters extracted by the PSCalib package. Access methods return the CSPad pixel coordinate for indicated axis, quad, section, row, and column indexes. Pixel coordinates can be returned in um(micrometers), pix(pixels), or int(integer pixel index).

Class PixCoordsCSPadV2

Detailed description in Doxygen - supports calibration type center_global

PSANA Modules

All psana modules are described in psana - Module Catalog.

Module PixCoordsTest

See description in psana - Module Catalog.

To execute this test module go to your release directory and run psana with appropriate configuration file:

cd <your-favorite-psana-release-directory>
psana -c CSPadPixCoords/data/psana_pixcoords_test.cfg

At the end of this test a few text files with images will be created:
test_2x1.txt, test_q0.txt, ..., test_q3.txt, and test_cspad.txt
To plot these images you may use the python script, for example:

./CSPadPixCoords/data/PlotCameraImageFromFile.py test_q0.txt
...
./CSPadPixCoords/data/PlotCameraImageFromFile.py test_2x1.txt
./CSPadPixCoords/data/PlotCameraImageFromFile.py test_cspad.txt


Module CSPadImageProducer

See description in psana - Module Catalog.
This module produces the uniform 2-D 1750x1750 image array for entire CSPad. Actual pixel coordinates are replaced by the nearest bin coordinates from this 2-D image array. Interpolation is not used in this case.

To test this module go to your release directory and run psana with appropriate configuration file:

cd <your-favorite-psana-release-directory>
psana -c CSPadPixCoords/data/psana_cspad_image_producer.cfg

This procedure demonstrates that module is doing somthing, but does not show any useful results. The next module CSPadImageGetTest is intended to demonstrate results.

Module CSPadInterpolImageProducer

See description in psana - Module Catalog.
This module is very similar to the CSPadImageProducer, but the amplitude in each bin of the uniform 2-D image array is interpolated using the 4 nearest sensor pixels. In this module we use the 4-node bi-linear interpolation algorithm.

Module CSPadImageGetTest

See description in psana - Module Catalog.

To execute this test go to your release directory and run psana with appropriate configuration file:

cd <your-favorite-psana-release-directory>
psana -c CSPadPixCoords/data/psana.cfg

At the end of this test the text file cspad_image_get_test_ev000010.txt with image will be created.
To plot this image you may use the python script:

./CSPadPixCoords/data/PlotCameraImageFromFile.py cspad_image_get_test_ev000010.txt

Module CSPadNDArrProducer

Detailed description in Doxygen

Module CSPad2x2NDArrProducer

Detailed description in Doxygen

Module CSPad2x2ImageProducer

Detailed description in Doxygen

Interface description

Classes for CSPAD

  • CSPadCalibPars - access to calibration parameters of types center, tilt, rotation, offeset, center_global, etc.
  • CSPadConfigPars - access to the run-time configuration parameters.
  • PixCoords2x1V2 - access to pixel coordinates of the 2x1 section.
  • PixCoordsCSPad - access to pixel coordinates of the CSPAD detector. It uses PixCoordsCSPadV2 if the calibration file for center_global is available.
  • PixCoordsCSPadV2 - supports pixel coordinates of the CSPAD detector for calibration type center_global.
  • CSPadImageProducer - PSANA module which produces image of the CSPAD detector and preserves it in the event (during run-time).
  • CSPadInterpolImageProducer - PSANA module which produces interpolated image of the CSPAD detector and preserves it in the event (during run-time).

Classes for CSPAD2x2

References

  • No labels