EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::Segmentation Class Referenceabstract

Segmentation Base class. More...

#include <acts/blob/sPHENIX/Plugins/Digitization/include/Acts/Plugins/Digitization/Segmentation.hpp>

+ Inheritance diagram for Acts::Segmentation:

Public Member Functions

virtual ~Segmentation ()=default
 Virtual Destructor.
 
virtual void createSegmentationSurfaces (SurfacePtrVector &boundarySurfaces, SurfacePtrVector &segmentationSurfacesX, SurfacePtrVector &segmentationSurfacesY, double halfThickness, int readoutDirection, double lorentzAngle) const =0
 
virtual DigitizationCell cell (const Vector3D &position) const =0
 
virtual DigitizationCell cell (const Vector2D &position) const =0
 
virtual Vector2D cellPosition (const DigitizationCell &cId) const =0
 
virtual DigitizationStep digitizationStep (const Vector3D &start, const Vector3D &end, double halfThickness, int readoutDirection, double lorentzAngle) const =0
 
virtual const SurfaceBoundsmoduleBounds () const =0
 return the surface bounds by reference
 
virtual const BinUtilitybinUtility () const =0
 return the bin utility that defines the readout
 

Detailed Description

Segmentation Base class.

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.

Definition at line 37 of file Segmentation.hpp.

View newest version in sPHENIX GitHub at line 37 of file Segmentation.hpp

Constructor & Destructor Documentation

virtual Acts::Segmentation::~Segmentation ( )
virtualdefault

Virtual Destructor.

Member Function Documentation

virtual const BinUtility& Acts::Segmentation::binUtility ( ) const
pure virtual

return the bin utility that defines the readout

Implemented in Acts::CartesianSegmentation.

Referenced by ActsExamples::DigitizationAlgorithm::execute().

+ Here is the caller graph for this function:

virtual DigitizationCell Acts::Segmentation::cell ( const Vector3D position) const
pure virtual

Get the digitization cell fropm a 3D position

  • ignores the shift, i.e. assumenes in to be in cell frame
Parameters
positionis the position for which the cell is requested
Returns
is a cell with cell ids

Implemented in Acts::CartesianSegmentation.

virtual DigitizationCell Acts::Segmentation::cell ( const Vector2D position) const
pure virtual

Get the digitization cell fropm a 2D position

  • ignores the shift, i.e. assumenes in to be in cell frame
Parameters
positionis the position for which the cell is requested
Returns
is a cell with cell ids

Implemented in Acts::CartesianSegmentation.

virtual Vector2D Acts::Segmentation::cellPosition ( const DigitizationCell cId) const
pure virtual

Calculate the cell Position from the Id

Parameters
cIdis the digitization cell
Returns
the center position of the associated cell

Implemented in Acts::CartesianSegmentation.

Referenced by ActsExamples::RootPlanarClusterWriter::writeT().

+ Here is the caller graph for this function:

virtual void Acts::Segmentation::createSegmentationSurfaces ( SurfacePtrVector boundarySurfaces,
SurfacePtrVector segmentationSurfacesX,
SurfacePtrVector segmentationSurfacesY,
double  halfThickness,
int  readoutDirection,
double  lorentzAngle 
) const
pure virtual

Create the segmentation surfaces in X

This method is only used if the full 3D digitization is done

Parameters
boundarySurfacesvector to be filled
segmentationSurfacesXare the segmetation boundaries in X
segmentationSurfacesYare the segmetation boundaries in Y
halfThicknessis the half thickness in z of the module
readoutDirectionis the direction w.r.t normal vector where the readout is given : -1, 0, 1 possible
lorentzAngleis the lorentz angle measured from the local z towards x axis

Implemented in Acts::CartesianSegmentation.

virtual DigitizationStep Acts::Segmentation::digitizationStep ( const Vector3D start,
const 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

Parameters
startis the start position of the step
endis the end position of the step
halfThicknessis the half thickness in z
readoutDirectionis the readout direction with respect to local z
lorentzAngleis the lorentz angle measured from local z towards x
Returns
is a fully calculated digitzation step

Implemented in Acts::CartesianSegmentation.

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

return the surface bounds by reference

Implemented in Acts::CartesianSegmentation.


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