|
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef TRKDIGEVENT_SEGMENTATION_H
10 #define TRKDIGEVENT_SEGMENTATION_H
46 std::vector< std::shared_ptr< const Surface> >& segmentationSurfacesX,
47 std::vector< std::shared_ptr< const Surface> >& segmentationSurfacesY,
50 double lorentzAngle)
const = 0;
66 double lorentzAngle)
const =0;
virtual const Amg::Vector2D cellPosition(const DigitizationCell &dCell) const =0
calculate the cell Position from the Id
virtual const DigitizationCell cell(const Amg::Vector2D &position) const =0
Get the digitization cell fropm a 2D position
Eigen::Matrix< double, 2, 1 > Vector2D
virtual const DigitizationStep digitizationStep(const Amg::Vector3D &start, const Amg::Vector3D &end, double halfThickness, int readoutDirection, double lorentzAngle) const =0
Fill the associated digitsation cell from the start and end position in 3D, correct for lorentz effec...
virtual ~Segmentation()
Virtual Destructor.
virtual const DigitizationCell cell(const Amg::Vector3D &position) const =0
Get the digitization cell fropm a 3D position - ignores the shift.
std::pair< size_t, size_t > DigitizationCell
virtual const SurfaceBounds & moduleBounds() const =0
return the surface bounds by reference
Ensure that the ATLAS eigen extensions are properly loaded.
virtual 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, double lorentzAngle) const =0
Create the segmentation surfaces in X.
Eigen::Matrix< double, 3, 1 > Vector3D