|
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef TRKDIGEVENT_RECTANGLESEGMENTATION_H
10 #define TRKDIGEVENT_RECTANGLESEGMENTATION_H
57 std::vector< std::shared_ptr< const Surface> >& segmentationSurfacesX,
58 std::vector< std::shared_ptr< const Surface> >& segmentationSurfacesY,
60 int readoutDirection=1.,
61 double lorentzAngle=0.)
const override;
76 int readoutDirection=1,
77 double lorentzAngle=0.)
const override;
std::shared_ptr< const RectangleBounds > m_activeBounds
Eigen::Matrix< double, 2, 1 > Vector2D
virtual ~RectangularSegmentation()
Virtual Destructor.
size_t numCellsY() const
Return the simple binning parameters.
std::pair< size_t, size_t > DigitizationCell
const DigitizationStep digitizationStep(const Amg::Vector3D &start, const Amg::Vector3D &end, double halfThickness, int readoutDirection=1, double lorentzAngle=0.) const override
Fill the associated digitsation cell from this start and end position, correct for lorentz effect if ...
const SurfaceBounds & moduleBounds() const override
return the surface bounds by reference
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.
Ensure that the ATLAS eigen extensions are properly loaded.
const DigitizationCell cell(const Amg::Vector3D &position) const override
Get the digitization cell fropm a 3D position - ignores the shift.
size_t numCellsX() const
Return the simple binning parameters.
Eigen::Matrix< double, 3, 1 > Vector3D
const DigitizationCell cellT(const T &position) const
RectangularSegmentation(std::shared_ptr< const Trk::RectangleBounds >, size_t numCellsX, size_t numCellsY=1)
Constructor for all same-size pixels or strips (in cas numCellsY is set to 1)
RectangularSegmentation & operator=(const RectangularSegmentation &)=delete
size_t bin(const Amg::Vector3D &position, size_t ba=0) const
Bin from a 3D vector (already in binning frame)
BinUtility * m_binUtility
const Amg::Vector2D cellPosition(const DigitizationCell &cId) const override
calculate the cell Position from the Id
RectangularSegmentation(const RectangularSegmentation &)=delete
TODO contructor from BinUtilities for more complex readouts.