Project
Loading...
Searching...
No Matches
o2::its3::SegmentationMosaix Class Reference

Segmentation and response for pixels in ITS3 upgrade. More...

#include <SegmentationMosaix.h>

Public Member Functions

constexpr SegmentationMosaix (int layer)
 
constexpr ~SegmentationMosaix ()=default
 
constexpr SegmentationMosaix (const SegmentationMosaix &)=default
 
constexpr SegmentationMosaix (SegmentationMosaix &&)=delete
 
constexpr SegmentationMosaixoperator= (const SegmentationMosaix &)=default
 
constexpr SegmentationMosaixoperator= (SegmentationMosaix &&)=delete
 
constexpr void curvedToFlat (const float xCurved, const float yCurved, float &xFlat, float &yFlat) const noexcept
 
constexpr void flatToCurved (float xFlat, float yFlat, float &xCurved, float &yCurved) const noexcept
 
constexpr bool localToDetector (float const xRow, float const zCol, int &iRow, int &iCol) const noexcept
 
constexpr void localToDetectorUnchecked (float const xRow, float const zCol, int &iRow, int &iCol) const noexcept
 
constexpr bool detectorToLocal (int const iRow, int const iCol, float &xRow, float &zCol) const noexcept
 
constexpr void detectorToLocalUnchecked (int const iRow, int const iCol, float &xRow, float &zCol) const noexcept
 
bool detectorToLocal (int const row, int const col, math_utils::Point3D< float > &loc) const noexcept
 
void detectorToLocalUnchecked (int const row, int const col, math_utils::Point3D< float > &loc) const noexcept
 

Static Public Attributes

static constexpr int NCols {constants::pixelarray::nCols}
 
static constexpr int NRows {constants::pixelarray::nRows}
 
static constexpr int NPixels {NCols * NRows}
 
static constexpr float Length {constants::pixelarray::length}
 
static constexpr float LengthH {Length / 2.f}
 
static constexpr float Width {constants::pixelarray::width}
 
static constexpr float WidthH {Width / 2.f}
 
static constexpr float PitchCol {constants::pixelarray::pixels::mosaix::pitchZ}
 
static constexpr float PitchRow {constants::pixelarray::pixels::mosaix::pitchX}
 
static constexpr float SensorLayerThickness {constants::totalThickness}
 
static constexpr float NominalYShift {constants::nominalYShift}
 

Detailed Description

Segmentation and response for pixels in ITS3 upgrade.

Definition at line 28 of file SegmentationMosaix.h.

Constructor & Destructor Documentation

◆ SegmentationMosaix() [1/3]

constexpr o2::its3::SegmentationMosaix::SegmentationMosaix ( int  layer)
inlineconstexpr

Definition at line 65 of file SegmentationMosaix.h.

◆ ~SegmentationMosaix()

constexpr o2::its3::SegmentationMosaix::~SegmentationMosaix ( )
constexprdefault

◆ SegmentationMosaix() [2/3]

constexpr o2::its3::SegmentationMosaix::SegmentationMosaix ( const SegmentationMosaix )
constexprdefault

◆ SegmentationMosaix() [3/3]

constexpr o2::its3::SegmentationMosaix::SegmentationMosaix ( SegmentationMosaix &&  )
constexprdelete

Member Function Documentation

◆ curvedToFlat()

constexpr void o2::its3::SegmentationMosaix::curvedToFlat ( const float  xCurved,
const float  yCurved,
float &  xFlat,
float &  yFlat 
) const
inlineconstexprnoexcept

Transformation from the curved surface to a flat surface. Additionally a shift in the flat coordinates must be applied because the center of the TGeoShap when projected will be higher than the physical thickness of the chip (we add an additional hull to account for the copper metal interconnection which is in reality part of the chip but in our simulation the silicon and metal layer are separated). Thus we shift the projected center down by this difference to align the coordinate systems.

Parameters
xCurvedDetector local curved coordinate x in cm with respect to the center of the sensitive volume.
yCurvedDetector local curved coordinate y in cm with respect to the center of the sensitive volume.
xFlatDetector local flat coordinate x in cm with respect to the center of the sensitive volume.
yFlatDetector local flat coordinate y in cm with respect to the center of the sensitive volume.

Definition at line 99 of file SegmentationMosaix.h.

◆ detectorToLocal() [1/2]

constexpr bool o2::its3::SegmentationMosaix::detectorToLocal ( int const  iRow,
int const  iCol,
float &  xRow,
float &  zCol 
) const
inlineconstexprnoexcept

Transformation from Detector cell coordinates to Geant detector centered local coordinates (cm)

Parameters
intiRow Detector x cell coordinate.
intiCol Detector z cell coordinate.
floatx Detector local coordinate x in cm with respect to the center of the sensitive volume.
floatz Detector local coordinate z in cm with respect to the center of the sensitive volume. If iRow and or iCol is outside of the segmentation range a value of -0.5*Dx() or -0.5*Dz() is returned.

Definition at line 170 of file SegmentationMosaix.h.

◆ detectorToLocal() [2/2]

bool o2::its3::SegmentationMosaix::detectorToLocal ( int const  row,
int const  col,
math_utils::Point3D< float > &  loc 
) const
inlinenoexcept

Definition at line 187 of file SegmentationMosaix.h.

◆ detectorToLocalUnchecked() [1/2]

constexpr void o2::its3::SegmentationMosaix::detectorToLocalUnchecked ( int const  iRow,
int const  iCol,
float &  xRow,
float &  zCol 
) const
inlineconstexprnoexcept

Definition at line 181 of file SegmentationMosaix.h.

◆ detectorToLocalUnchecked() [2/2]

void o2::its3::SegmentationMosaix::detectorToLocalUnchecked ( int const  row,
int const  col,
math_utils::Point3D< float > &  loc 
) const
inlinenoexcept

Definition at line 197 of file SegmentationMosaix.h.

◆ flatToCurved()

constexpr void o2::its3::SegmentationMosaix::flatToCurved ( float  xFlat,
float  yFlat,
float &  xCurved,
float &  yCurved 
) const
inlineconstexprnoexcept

Transformation from the flat surface to a curved surface It works only if the detector is not rototraslated.

Parameters
xFlatDetector local flat coordinate x in cm with respect to the center of the sensitive volume.
yFlatDetector local flat coordinate y in cm with respect to the center of the sensitive volume.
xCurvedDetector local curved coordinate x in cm with respect to the center of the sensitive volume.
yCurvedDetector local curved coordinate y in cm with respect to the center of the sensitive volume.

Definition at line 121 of file SegmentationMosaix.h.

◆ localToDetector()

constexpr bool o2::its3::SegmentationMosaix::localToDetector ( float const  xRow,
float const  zCol,
int iRow,
int iCol 
) const
inlineconstexprnoexcept

Transformation from Geant detector centered local coordinates (cm) to Pixel cell numbers iRow and iCol. Returns true if point x,z is inside sensitive volume, false otherwise. A value of -1 for iRow or iCol indicates that this point is outside of the detector segmentation as defined.

Parameters
floatx Detector local coordinate x in cm with respect to the center of the sensitive volume.
floatz Detector local coordinate z in cm with respect to the center of the sensitive volume.
intiRow Detector x cell coordinate.
intiCol Detector z cell coordinate.

Definition at line 143 of file SegmentationMosaix.h.

◆ localToDetectorUnchecked()

constexpr void o2::its3::SegmentationMosaix::localToDetectorUnchecked ( float const  xRow,
float const  zCol,
int iRow,
int iCol 
) const
inlineconstexprnoexcept

Definition at line 154 of file SegmentationMosaix.h.

◆ operator=() [1/2]

constexpr SegmentationMosaix & o2::its3::SegmentationMosaix::operator= ( const SegmentationMosaix )
constexprdefault

◆ operator=() [2/2]

constexpr SegmentationMosaix & o2::its3::SegmentationMosaix::operator= ( SegmentationMosaix &&  )
constexprdelete

Member Data Documentation

◆ Length

constexpr float o2::its3::SegmentationMosaix::Length {constants::pixelarray::length}
staticconstexpr

Definition at line 75 of file SegmentationMosaix.h.

◆ LengthH

constexpr float o2::its3::SegmentationMosaix::LengthH {Length / 2.f}
staticconstexpr

Definition at line 76 of file SegmentationMosaix.h.

◆ NCols

constexpr int o2::its3::SegmentationMosaix::NCols {constants::pixelarray::nCols}
staticconstexpr

Definition at line 72 of file SegmentationMosaix.h.

◆ NominalYShift

constexpr float o2::its3::SegmentationMosaix::NominalYShift {constants::nominalYShift}
staticconstexpr

Definition at line 82 of file SegmentationMosaix.h.

◆ NPixels

constexpr int o2::its3::SegmentationMosaix::NPixels {NCols * NRows}
staticconstexpr

Definition at line 74 of file SegmentationMosaix.h.

◆ NRows

constexpr int o2::its3::SegmentationMosaix::NRows {constants::pixelarray::nRows}
staticconstexpr

Definition at line 73 of file SegmentationMosaix.h.

◆ PitchCol

constexpr float o2::its3::SegmentationMosaix::PitchCol {constants::pixelarray::pixels::mosaix::pitchZ}
staticconstexpr

Definition at line 79 of file SegmentationMosaix.h.

◆ PitchRow

constexpr float o2::its3::SegmentationMosaix::PitchRow {constants::pixelarray::pixels::mosaix::pitchX}
staticconstexpr

Definition at line 80 of file SegmentationMosaix.h.

◆ SensorLayerThickness

constexpr float o2::its3::SegmentationMosaix::SensorLayerThickness {constants::totalThickness}
staticconstexpr

Definition at line 81 of file SegmentationMosaix.h.

◆ Width

constexpr float o2::its3::SegmentationMosaix::Width {constants::pixelarray::width}
staticconstexpr

Definition at line 77 of file SegmentationMosaix.h.

◆ WidthH

constexpr float o2::its3::SegmentationMosaix::WidthH {Width / 2.f}
staticconstexpr

Definition at line 78 of file SegmentationMosaix.h.


The documentation for this class was generated from the following file: