HerdSoftware  0.1.1
Public Member Functions | Protected Attributes | List of all members
Herd::TrackingDetectorGeoParams Class Referenceabstract

Base data structure for single tracking detector layer geometry parameters. More...

#include <dataobjects/TrackingDetectorGeoParams.h>

Inheritance diagram for Herd::TrackingDetectorGeoParams:
Herd::FitGeoParams Herd::SiliconDetectorGeoParams

Public Member Functions

 TrackingDetectorGeoParams ()
 Default constructor. More...
 
virtual ~TrackingDetectorGeoParams ()=default
 Virtual destructor. More...
 
virtual const RefFrame::SideSide () const
 Return the detector side this layer is in. More...
 
virtual size_t LayerNumber () const
 Return the layer number for this layer in its detector. More...
 
virtual bool HasTungsten () const
 Check if layer is preceded by tungsten plane. More...
 
float TungstenThickness () const
 Get the tungsten layer thickness. More...
 
virtual float ElementPitch () const
 Get element pitch. More...
 
virtual unsigned int ElementID (const Point &position) const =0
 Utility function to get volumeID from a set of coordinates. Reimplemented in derived classes. More...
 
virtual Point ElementPosition (unsigned int volID) const =0
 Get position of a given element. More...
 
virtual RefFrame::Direction NormalDirection () const
 Get the normal direction to the detector. More...
 
virtual std::pair< RefFrame::Direction, RefFrame::DirectionSegmentationDirections () const
 Return the segmentation directions of the tracking elements. More...
 
virtual void SetSideAndMainSegmDir (RefFrame::Side dside, RefFrame::Direction segmDir)=0
 Set the detector side and the main segmentation direction for elements. More...
 
virtual void SetHasTungsten (bool value)
 Set the tungsten flag. More...
 
virtual void SetTungstenThickness (float value)
 Set the tungsten plane thickness. More...
 

Protected Attributes

RefFrame::Side _side
 
size_t _layerNumber
 Detector side. More...
 
RefFrame::Direction _normalDir
 Layer number. More...
 
RefFrame::Direction _mainSegmDir
 Normal direction. More...
 
RefFrame::Direction _secSegmDir
 Main segmentation direction for elements. More...
 
float _elementPitch
 Secondary segmentation direction for elements. More...
 
bool _hasTungsten
 Element pitch. More...
 
float _tungstenThickness
 True if layer is preceded by a tungsten plane. More...
 

Detailed Description

Base data structure for single tracking detector layer geometry parameters.

Constructor & Destructor Documentation

◆ TrackingDetectorGeoParams()

Herd::TrackingDetectorGeoParams::TrackingDetectorGeoParams ( )
inline

Default constructor.

◆ ~TrackingDetectorGeoParams()

virtual Herd::TrackingDetectorGeoParams::~TrackingDetectorGeoParams ( )
virtualdefault

Virtual destructor.

Member Function Documentation

◆ ElementID()

virtual unsigned int Herd::TrackingDetectorGeoParams::ElementID ( const Point position) const
pure virtual

Utility function to get volumeID from a set of coordinates. Reimplemented in derived classes.

Parameters
positionThe coordinates of the point (normal coordinate is ignored).
Returns
The ID of the element containing the point.
Exceptions
std::range_errorif the given position does not lie on a element.

Implemented in Herd::SiliconDetectorGeoParams, and Herd::FitGeoParams.

◆ ElementPitch()

virtual float Herd::TrackingDetectorGeoParams::ElementPitch ( ) const
inlinevirtual

Get element pitch.

Returns
element pitch

◆ ElementPosition()

virtual Point Herd::TrackingDetectorGeoParams::ElementPosition ( unsigned int  volID) const
pure virtual

Get position of a given element.

Parameters
elementIDThe unique ID of the element.
Returns
the element position.

Implemented in Herd::FitGeoParams, and Herd::SiliconDetectorGeoParams.

◆ HasTungsten()

virtual bool Herd::TrackingDetectorGeoParams::HasTungsten ( ) const
inlinevirtual

Check if layer is preceded by tungsten plane.

◆ LayerNumber()

virtual size_t Herd::TrackingDetectorGeoParams::LayerNumber ( ) const
inlinevirtual

Return the layer number for this layer in its detector.

Returns
layer number

◆ NormalDirection()

virtual RefFrame::Direction Herd::TrackingDetectorGeoParams::NormalDirection ( ) const
inlinevirtual

Get the normal direction to the detector.

Returns
the normal direction.

◆ SegmentationDirections()

virtual std::pair<RefFrame::Direction, RefFrame::Direction> Herd::TrackingDetectorGeoParams::SegmentationDirections ( ) const
inlinevirtual

Return the segmentation directions of the tracking elements.

The first element of the returned pair is the direction along which the volume ID increases by 1 (the so called "main segmentation direction"), the second element is the other segmentation direction (the "secondary segmentation direction"). For the tracking element the main segmentation direction is the natural one defined by the element orientation.

Returns
the two segmentation directions.
Exceptions
std::runtime_errorif the normal direction setting is not valid.

◆ SetHasTungsten()

virtual void Herd::TrackingDetectorGeoParams::SetHasTungsten ( bool  value)
inlinevirtual

Set the tungsten flag.

Parameters
valueTrue if this layer has tungsten.

◆ SetSideAndMainSegmDir()

virtual void Herd::TrackingDetectorGeoParams::SetSideAndMainSegmDir ( RefFrame::Side  dside,
RefFrame::Direction  segmDir 
)
pure virtual

Set the detector side and the main segmentation direction for elements.

Parameters
dsideThe side.
segmDirthe main segmentation direction for elements.

Implemented in Herd::SiliconDetectorGeoParams, and Herd::FitGeoParams.

◆ SetTungstenThickness()

virtual void Herd::TrackingDetectorGeoParams::SetTungstenThickness ( float  value)
inlinevirtual

Set the tungsten plane thickness.

Parameters
valuetungsten thickness.

◆ Side()

virtual const RefFrame::Side& Herd::TrackingDetectorGeoParams::Side ( ) const
inlinevirtual

Return the detector side this layer is in.

Returns
const RefFrame::Side&

◆ TungstenThickness()

float Herd::TrackingDetectorGeoParams::TungstenThickness ( ) const
inline

Get the tungsten layer thickness.

Returns
the tungsten layer thickness

Member Data Documentation

◆ _elementPitch

float Herd::TrackingDetectorGeoParams::_elementPitch
protected

Secondary segmentation direction for elements.

◆ _hasTungsten

bool Herd::TrackingDetectorGeoParams::_hasTungsten
protected

Element pitch.

◆ _layerNumber

size_t Herd::TrackingDetectorGeoParams::_layerNumber
protected

Detector side.

◆ _mainSegmDir

RefFrame::Direction Herd::TrackingDetectorGeoParams::_mainSegmDir
protected

Normal direction.

◆ _normalDir

RefFrame::Direction Herd::TrackingDetectorGeoParams::_normalDir
protected

Layer number.

◆ _secSegmDir

RefFrame::Direction Herd::TrackingDetectorGeoParams::_secSegmDir
protected

Main segmentation direction for elements.

◆ _side

RefFrame::Side Herd::TrackingDetectorGeoParams::_side
protected

◆ _tungstenThickness

float Herd::TrackingDetectorGeoParams::_tungstenThickness
protected

True if layer is preceded by a tungsten plane.


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