Analysis Software
Documentation for sPHENIX simulation software
|
Segmentation Base class. More...
#include <acts/blob/sPHENIX/Core/include/Acts/Digitization/Segmentation.hpp>
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 Vector3 &position) const =0 |
virtual DigitizationCell | cell (const Vector2 &position) const =0 |
virtual Vector2 | cellPosition (const DigitizationCell &dCell) const =0 |
virtual DigitizationStep | digitizationStep (const Vector3 &start, const Vector3 &end, double halfThickness, int readoutDirection, double lorentzAngle) const =0 |
virtual const SurfaceBounds & | moduleBounds () const =0 |
return the surface bounds by reference | |
virtual const BinUtility & | binUtility () const =0 |
return the bin utility that defines the readout | |
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
|
virtualdefault |
Virtual Destructor.
|
pure virtual |
return the bin utility that defines the readout
Implemented in Acts::CartesianSegmentation.
Referenced by ActsExamples::PlanarSteppingAlgorithm::execute().
|
pure virtual |
Get the digitization cell from a 3D position
position | is the position for which the cell is requested |
Implemented in Acts::CartesianSegmentation.
|
pure virtual |
Get the digitization cell from a 2D position
position | is the position for which the cell is requested |
Implemented in Acts::CartesianSegmentation.
|
pure virtual |
Calculate the cell Position from the Id
dCell | the digitization cell |
Implemented in Acts::CartesianSegmentation.
Referenced by ActsExamples::RootPlanarClusterWriter::writeT().
|
pure virtual |
Create the segmentation surfaces in X
This method is only used if the full 3D digitization is done
boundarySurfaces | vector to be filled |
segmentationSurfacesX | are the segmetation boundaries in X |
segmentationSurfacesY | are the segmetation boundaries in Y |
halfThickness | is the half thickness in z of the module |
readoutDirection | is the direction w.r.t normal vector where the readout is given : -1, 0, 1 possible |
lorentzAngle | is the lorentz angle measured from the local z towards x axis |
Implemented in Acts::CartesianSegmentation.
|
pure virtual |
Fill the associated digitization cell from the start and end position in 3D correct for lorentz effect if needed
start | is the start position of the step |
end | is the end position of the step |
halfThickness | is the half thickness in z |
readoutDirection | is the readout direction with respect to local z |
lorentzAngle | is the lorentz angle measured from local z towards x |
Implemented in Acts::CartesianSegmentation.
|
pure virtual |
return the surface bounds by reference
Implemented in Acts::CartesianSegmentation.