Data structure for PSD geometry parameters.
More...
#include <dataobjects/PsdGeoParams.h>
|
struct | PsdElement |
| This struct is used only inside the object, it is public since Root can not save the object otherwise. More...
|
|
Data structure for PSD geometry parameters.
◆ PsdGeoParams() [1/2]
Herd::PsdGeoParams::PsdGeoParams |
( |
| ) |
|
|
inline |
◆ PsdGeoParams() [2/2]
Herd::PsdGeoParams::PsdGeoParams |
( |
unsigned int |
nTotElements | ) |
|
|
inline |
◆ ~PsdGeoParams()
virtual Herd::PsdGeoParams::~PsdGeoParams |
( |
| ) |
|
|
virtualdefault |
◆ CooIndexes()
const CooArray<unsigned char>& Herd::PsdGeoParams::CooIndexes |
( |
unsigned int |
volID | ) |
const |
|
inline |
Return the indexes of a PSD element.
- Parameters
-
- Returns
- the indexes of the PSD element.
◆ NElements()
const AxesArray<unsigned int>& Herd::PsdGeoParams::NElements |
( |
| ) |
const |
|
inline |
Return the number of PSD elements along each segmentation axis.
The returned array holds the number of sensitive elements along each segmentation axis (the segmentation axes are those orthogonal to the normal axis, e.g. X and Z are the segmentation axes for the lateral PSD on Y sides). For example, for bars PSD nElements[RefFrame::Axis::Y] is the number of bars along Y, while for a tiles PSD it is the number of tiles along Y. For top PSD nElements[RefFrame::Axis::Z] will be 0 since Z is the normal axis; for side PSD the PsdGeoParams object has to describe PSDs on X and Y sides, so both nElements[RefFrame::Axis::Y] and nElements[RefFrame::Axis::X] will be nonzero. However, it is intended that for each PSD the number of elements along the normal axis is 0.
- Returns
- the number of PSD elements along each segmentation axis.
◆ Normal()
Return the normal to the PSD surface, which points outside the full detector.
- Returns
- the normal to the PSD surface.
◆ NTotElements()
unsigned int Herd::PsdGeoParams::NTotElements |
( |
| ) |
const |
|
inline |
Return the total number of PSD elements.
- Returns
- the total number of PSD elements.
◆ Position()
const Point& Herd::PsdGeoParams::Position |
( |
unsigned int |
volID | ) |
const |
|
inline |
Return the position of a PSD element.
- Parameters
-
- Returns
- the position of the PSD element.
◆ SegmentationDirections()
Return the segmentation directions of the PSD layer.
The first element of the returned pair is the direction along which the volume ID increases by 1 (the so called "main segmentation direction"), the second element is the other segmentation direction (the "secondary segmentation
direction").
- Returns
- the two segmentation directions.
- Exceptions
-
std::runtime_error | if the normal direction setting is not valid. |
◆ SetNElements()
void Herd::PsdGeoParams::SetNElements |
( |
AxesArray< unsigned int > |
nElements | ) |
|
Set the number of PSD elements along each segmentation axis and compute the indexes.
This method must be used after setting the normal, otherwise it can not compute the indexes
- Parameters
-
nElements | the number of PSD elements along each segmentation axis. |
◆ SetNormal()
Set the normal to the PSD surface, which points outside the full detector.
- Parameters
-
nElements | the normal to the PSD surface. |
◆ SetPosition()
void Herd::PsdGeoParams::SetPosition |
( |
unsigned int |
volID, |
|
|
Point |
position |
|
) |
| |
|
inline |
Set the position of a PSD element.
- Parameters
-
volID | Volume identifier. |
position | the position of the PSD element. |
◆ SetSizes()
void Herd::PsdGeoParams::SetSizes |
( |
AxesArray< float > |
sizes | ) |
|
|
inline |
Set the size of a PSD element, one value for each direction.
- Parameters
-
sizes | the size of a PSD element in each direction. |
◆ Sizes()
const AxesArray<float>& Herd::PsdGeoParams::Sizes |
( |
| ) |
const |
|
inline |
Return the size of a PSD element, one value for each direction.
- Returns
- the size of a PSD element in each direction.
◆ _nElements
AxesArray<unsigned int> Herd::PsdGeoParams::_nElements |
|
private |
Number of PSD elements along each segmentation axis.
◆ _normal
Normal of the PSD which points outside the full detector.
◆ _psdElements
std::vector<PsdElement> Herd::PsdGeoParams::_psdElements |
|
private |
Vector of PSD elements, which include the position and the indexes.
◆ _sizes
Size of a PSD element, one value for each direction.
The documentation for this class was generated from the following files: