Go to the documentation of this file.
10 #ifndef HERD_TRACKINGDETECTORGEOPARAMS_H_
11 #define HERD_TRACKINGDETECTORGEOPARAMS_H_
87 [[nodiscard]]
virtual std::optional<unsigned int>
ElementID(
const Point &position)
const = 0;
virtual bool HasTungsten() const
Check if layer is preceded by tungsten plane.
Definition: TrackingDetectorGeoParams.h:64
virtual float ElementPitch() const
Get element pitch.
Definition: TrackingDetectorGeoParams.h:78
Base data structure for single tracking detector layer geometry parameters.
Definition: TrackingDetectorGeoParams.h:31
float TungstenThickness() const
Get the tungsten layer thickness.
Definition: TrackingDetectorGeoParams.h:71
A class describing a vector in 3D space.
Definition: Vec3D.h:33
virtual RefFrame::Direction NormalDirection() const
Get the normal direction to the detector.
Definition: TrackingDetectorGeoParams.h:102
virtual void SetTungstenThickness(float value)
Set the tungsten plane thickness.
Definition: TrackingDetectorGeoParams.h:138
float _elementPitch
Secondary segmentation direction for elements.
Definition: TrackingDetectorGeoParams.h:146
#define DEFAULT_INIT(x)
Definition: DefaultValues.h:23
Direction
Aliases for the six axis directions.
Definition: RefFrame.h:55
RefFrame::Direction _normalDir
Layer number.
Definition: TrackingDetectorGeoParams.h:143
virtual std::pair< RefFrame::Direction, RefFrame::Direction > SegmentationDirections() const
Return the segmentation directions of the tracking elements.
Definition: TrackingDetectorGeoParams.h:114
Side
Aliases for the five sides.
Definition: RefFrame.h:111
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:22
RefFrame::Direction _secSegmDir
Main segmentation direction for elements.
Definition: TrackingDetectorGeoParams.h:145
RefFrame::Direction _mainSegmDir
Normal direction.
Definition: TrackingDetectorGeoParams.h:144
size_t _layerNumber
Detector side.
Definition: TrackingDetectorGeoParams.h:142
virtual void SetSideAndMainSegmDir(RefFrame::Side dside, RefFrame::Direction segmDir)=0
Set the detector side and the main segmentation direction for elements.
float _tungstenThickness
True if layer is preceded by a tungsten plane.
Definition: TrackingDetectorGeoParams.h:148
virtual Point ElementPosition(unsigned int volID) const =0
Get position of a given element.
RefFrame::Side _side
Definition: TrackingDetectorGeoParams.h:141
virtual void SetHasTungsten(bool value)
Set the tungsten flag.
Definition: TrackingDetectorGeoParams.h:131
virtual std::optional< unsigned int > ElementID(const Point &position) const =0
Utility function to get volumeID from a set of coordinates. Reimplemented in derived classes.
virtual ~TrackingDetectorGeoParams()=default
Virtual destructor
virtual size_t LayerNumber() const
Return the layer number for this layer in its detector.
Definition: TrackingDetectorGeoParams.h:58
TrackingDetectorGeoParams()
Default constructor.
Definition: TrackingDetectorGeoParams.h:39
virtual const RefFrame::Side & Side() const
Return the detector side this layer is in.
Definition: TrackingDetectorGeoParams.h:51
bool _hasTungsten
Element pitch.
Definition: TrackingDetectorGeoParams.h:147