ATLAS Offline Software
|
#include <TrapezoidSegmentation.h>
Public Member Functions | |
TrapezoidSegmentation (std::shared_ptr< const Trk::TrapezoidBounds >, size_t numCellsX, size_t numCellsY=1) | |
Constructor for all same-size pixels or strips (in case numCellsY is set to 1) More... | |
TrapezoidSegmentation (const TrapezoidSegmentation &)=delete | |
TODO contructor from BinUtilities for more complex readouts. More... | |
TrapezoidSegmentation & | operator= (const TrapezoidSegmentation &)=delete |
virtual | ~TrapezoidSegmentation () |
Virtual Destructor. More... | |
void | createSegmenationSurfaces (std::vector< std::shared_ptr< const Surface > > &boundarySurfaces, std::vector< std::shared_ptr< const Surface > > &segmentationSurfacesX, std::vector< std::shared_ptr< const Surface > > &segmentationSurfacesY, double halfThickness, int readoutDirection=1., double lorentzAngle=0.) const override |
Create the segmentation surfaces in X. More... | |
const DigitizationCell | cell (const Amg::Vector3D &position) const override |
Get the digitization cell from a 3D position - ignores the shift. More... | |
const DigitizationCell | cell (const Amg::Vector2D &position) const override |
Get the digitization cell from a position. More... | |
const Amg::Vector2D | cellPosition (const DigitizationCell &cId) const override |
calculate the cell Position from the Id More... | |
const DigitizationStep | digitizationStep (const Amg::Vector3D &start, const Amg::Vector3D &end, double halfThickness, int readoutDirection=1, double lorentzAngle=0.) const override |
Fill the associated digitisation cell from this start and end position, correct for lorentz effect if needed. More... | |
const SurfaceBounds & | moduleBounds () const override |
return the surface bounds by reference More... | |
size_t | numCellsX () const |
Return the simple binning parameters. More... | |
size_t | numCellsY () const |
Return the simple binning parameters. More... | |
Private Member Functions | |
template<class T > | |
const DigitizationCell | cellT (const T &position) const |
double | PitchX (const Amg::Vector2D &localPos) const |
Return the local pitch X More... | |
double | sinStereoLocal (const Amg::Vector2D &localPos) const |
Return the local sinStereo More... | |
double | projectLocX (const Amg::Vector2D &localPos) const |
Return the projected x value on the y=0. More... | |
double | radius () const |
Return the radius correponding to the given module. More... | |
Private Attributes | |
std::shared_ptr< const TrapezoidBounds > | m_activeBounds |
BinUtility * | m_binUtility |
size_t | m_binsX |
size_t | m_binsY |
Definition at line 36 of file TrapezoidSegmentation.h.
Trk::TrapezoidSegmentation::TrapezoidSegmentation | ( | std::shared_ptr< const Trk::TrapezoidBounds > | mBounds, |
size_t | numCellsX, | ||
size_t | numCellsY = 1 |
||
) |
Constructor for all same-size pixels or strips (in case numCellsY is set to 1)
Definition at line 22 of file TrapezoidSegmentation.cxx.
|
delete |
TODO contructor from BinUtilities for more complex readouts.
|
virtual |
Virtual Destructor.
Definition at line 43 of file TrapezoidSegmentation.cxx.
|
inlineoverridevirtual |
Get the digitization cell from a position.
Implements Trk::Segmentation.
Definition at line 130 of file TrapezoidSegmentation.h.
|
inlineoverridevirtual |
Get the digitization cell from a 3D position - ignores the shift.
Implements Trk::Segmentation.
Definition at line 124 of file TrapezoidSegmentation.h.
|
overridevirtual |
calculate the cell Position from the Id
Implements Trk::Segmentation.
Definition at line 135 of file TrapezoidSegmentation.cxx.
|
private |
Definition at line 115 of file TrapezoidSegmentation.h.
|
overridevirtual |
Create the segmentation surfaces in X.
Implements Trk::Segmentation.
Definition at line 48 of file TrapezoidSegmentation.cxx.
|
overridevirtual |
Fill the associated digitisation cell from this start and end position, correct for lorentz effect if needed.
Get the digitization cell from 3D position, it used the projection to the readout surface to estimate the 2D positon.
Implements Trk::Segmentation.
Definition at line 145 of file TrapezoidSegmentation.cxx.
|
inlineoverridevirtual |
return the surface bounds by reference
Implements Trk::Segmentation.
Definition at line 109 of file TrapezoidSegmentation.h.
|
inline |
|
inline |
|
delete |
|
private |
Return the local pitch X
Definition at line 152 of file TrapezoidSegmentation.h.
|
private |
Return the projected x value on the y=0.
Definition at line 159 of file TrapezoidSegmentation.h.
|
private |
Return the radius correponding to the given module.
Definition at line 138 of file TrapezoidSegmentation.h.
|
private |
Return the local sinStereo
Definition at line 143 of file TrapezoidSegmentation.h.
|
private |
Definition at line 102 of file TrapezoidSegmentation.h.
|
private |
Definition at line 104 of file TrapezoidSegmentation.h.
|
private |
Definition at line 105 of file TrapezoidSegmentation.h.
|
private |
Definition at line 103 of file TrapezoidSegmentation.h.