|
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef TRKDIGEVENT_PLANARDIGITIZATIONMODULE_H
10 #define TRKDIGEVENT_PLANARDIGITIZATIONMODULE_H
86 const std::vector< std::shared_ptr<const Surface> >&
boundarySurfaces()
const;
double lorentzAngle() const
return the lorentz Angle
const std::vector< std::shared_ptr< const Surface > > & boundarySurfaces() const
return the bounding surfaces at top and bottom
double m_lorentzAngle
the lorentz angle
Eigen::Matrix< double, 2, 1 > Vector2D
int readoutDirection() const
return the readout direction
const std::vector< std::shared_ptr< const Surface > > & segmentationSurfacesY() const
return all surfaces in Y - excluding the boundaries
std::vector< std::shared_ptr< const Surface > > m_boundarySurfaces
boundary surfaces, they are ordered: readout, opposite, x boundaries, y boundaries
const std::vector< std::shared_ptr< const Surface > > stepSurfaces(const Amg::Vector3D &start, const Amg::Vector3D &end) const
return the test surfaces between these points
std::pair< size_t, size_t > DigitizationCell
int m_readoutDirection
defines if the readout is along (+1) / (-1) wrt the z axis
DigitizationModule(std::shared_ptr< const Segmentation > moduleSegmentation, double halfThickness, int readoutDirection, double lorentzAngle)
Constructor from a Segmentation descriptor.
std::vector< std::shared_ptr< const Surface > > m_segmentationSurfacesX
segmentation surfaces in X - without boundaries
const Segmentation & segmentation() const
return the segmenation
std::vector< std::shared_ptr< const Surface > > m_segmentationSurfacesY
segmentation surfaces in Y - without boundaries
const std::vector< std::shared_ptr< const Surface > > & segmentationSurfacesX() const
return all surfaces in X - excluding the boundaries
const DigitizationCell cell(const Amg::Vector2D &position) const
Get the digitization cell fropm a position.
std::shared_ptr< const Segmentation > m_segmentation
segmentation descriptor
Ensure that the ATLAS eigen extensions are properly loaded.
const std::vector< std::shared_ptr< const Surface > > segmentationSurfaces(const DigitizationCell &entryCids, const DigitizationCell &exitCids) const
Return the internal test segmentation surfaces to test between entry and exit given by their cell id'...
Eigen::Matrix< double, 3, 1 > Vector3D
double m_tanLorentzAngle
and the tangent of it
const DigitizationStep digitizationStep(const Amg::Vector3D &start, const Amg::Vector3D &end) const
Fill the associated digitsation cell from this start and end position, correct for lorentz effect if ...
double halfThickness() const
module thickness
virtual ~DigitizationModule()
Virtual Destructor.