ATLAS Offline Software
Public Member Functions | List of all members
Trk::Segmentation Class Referenceabstract

#include <Segmentation.h>

Inheritance diagram for Trk::Segmentation:
Collaboration diagram for Trk::Segmentation:

Public Member Functions

virtual ~Segmentation ()
 Virtual Destructor. More...
 
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. More...
 
virtual const DigitizationCell cell (const Amg::Vector3D &position) const =0
 Get the digitization cell fropm a 3D position - ignores the shift. More...
 
virtual const DigitizationCell cell (const Amg::Vector2D &position) const =0
 Get the digitization cell fropm a 2D position
More...
 
virtual const Amg::Vector2D cellPosition (const DigitizationCell &dCell) const =0
 calculate the cell Position from the Id More...
 
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 effect if needed. More...
 
virtual const SurfaceBoundsmoduleBounds () const =0
 return the surface bounds by reference More...
 

Detailed Description

Segementation class for generic pixel, strixels and strip segmentations on a rectangle shape

Conventions:

Author
Andreas.Salzburger -at- cern.ch, Noemi.Calace -at- cern.ch

This helper class allows to define an arbitrary readout segmentation for the geoemtric digitization, provided a shape of the module, it creates the segmentation surfaces and hands them to the digitization module

Since the segmentation description might be identical for many elements while the lorentz angle may change, lorentzAngle and readoutDirection are provided and th the segmenation class only creates the surfaces for the module, but hosts the binning information.

Author
Andreas.Salzburger -at- cern.ch, Noemi.Calace -at- cern.ch

Segementation class for generic pixel, strixels and strip segmentations on a trapezoidal shape

Conventions:

Author
Andreas.Salzburger -at- cern.ch, Noemi.Calace -at- cern.ch

Definition at line 39 of file Segmentation.h.

Constructor & Destructor Documentation

◆ ~Segmentation()

virtual Trk::Segmentation::~Segmentation ( )
inlinevirtual

Virtual Destructor.

Definition at line 42 of file Segmentation.h.

42 {}

Member Function Documentation

◆ cell() [1/2]

virtual const DigitizationCell Trk::Segmentation::cell ( const Amg::Vector2D position) const
pure virtual

Get the digitization cell fropm a 2D position

Implemented in Trk::RectangularSegmentation, and Trk::TrapezoidSegmentation.

◆ cell() [2/2]

virtual const DigitizationCell Trk::Segmentation::cell ( const Amg::Vector3D position) const
pure virtual

Get the digitization cell fropm a 3D position - ignores the shift.

Implemented in Trk::RectangularSegmentation, and Trk::TrapezoidSegmentation.

◆ cellPosition()

virtual const Amg::Vector2D Trk::Segmentation::cellPosition ( const DigitizationCell dCell) const
pure virtual

calculate the cell Position from the Id

Implemented in Trk::RectangularSegmentation, and Trk::TrapezoidSegmentation.

◆ createSegmenationSurfaces()

virtual void Trk::Segmentation::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
pure virtual

Create the segmentation surfaces in X.

Implemented in Trk::RectangularSegmentation, and Trk::TrapezoidSegmentation.

◆ digitizationStep()

virtual const DigitizationStep Trk::Segmentation::digitizationStep ( const Amg::Vector3D start,
const Amg::Vector3D end,
double  halfThickness,
int  readoutDirection,
double  lorentzAngle 
) const
pure virtual

Fill the associated digitsation cell from the start and end position in 3D, correct for lorentz effect if needed.

Implemented in Trk::RectangularSegmentation, and Trk::TrapezoidSegmentation.

◆ moduleBounds()

virtual const SurfaceBounds& Trk::Segmentation::moduleBounds ( ) const
pure virtual

return the surface bounds by reference

Implemented in Trk::RectangularSegmentation, and Trk::TrapezoidSegmentation.


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