|
HerdSoftware
0.1.1
|
Data structure for single silicon layer geometry parameters. More...
#include <dataobjects/FitGeoParams.h>
Classes | |
| struct | PointOnDeadZone |
Public Member Functions | |
| FitGeoParams () | |
| Default constructor. More... | |
| FitGeoParams (RefFrame::Side dside, size_t layerNumber, RefFrame::Direction mainSegm) | |
| Construct a new FitGeoParams object. More... | |
| virtual | ~FitGeoParams ()=default |
| Virtual destructor. More... | |
| unsigned int | NSipmPerMat () const |
| Get the number of sipms that are attached to a mat. More... | |
| int | NChannelsPerSipm () const |
| Get the number of channels in a single SiPM. More... | |
| int | NChannelsPerMat () const |
| Get the number of channels that are in a mat. More... | |
| const AxesArray< int > & | NMats () const |
| Get the number of ladder that make up a layer. This is intended as number of ladders along each direction. As a convention the number of ladders in the normal plane direction is one. More... | |
| unsigned int | NTotElements () const |
| Return the total number of FIT mats. More... | |
| const AxesArray< float > & | MatSize () const |
| Get the dimensions of the single mat. More... | |
| float | GetSipmAirGap () const |
| Get gap between two consecutive SiPM. More... | |
| Point | ElementPosition (unsigned int elementID) const override |
| Get position of a given element. More... | |
| Point | SipmPosition (unsigned int sipmID) const |
| Get position of a given SiPM. More... | |
| Point | MatPosition (unsigned int matID) const |
| Get position of a given mat. More... | |
| unsigned int | MatID (const Point &position) const |
| Retrieves the volume ID of the mat containing the given point. More... | |
| unsigned int | MatIDFromChannelID (unsigned int channelID) const |
| Retrieves the volume ID of the mat containing the sipm with the given channelID. More... | |
| unsigned int | SipmIDFromChannelID (unsigned int channelID) const |
| Retrieves the ID of the SiPM containing the channel with the given channelID. More... | |
| unsigned int | ElementID (const Point &position) const override |
| Utility function to get the element ID from a set of coordinates. More... | |
| unsigned int | SipmIDOnMat (float relativePosition) const |
| Returns the sipm ID on mat. More... | |
| unsigned int | ChannelIDOnMat (float relativePosition) const |
| Returns the channel ID on mat. More... | |
| float | ChannelPositionOnMat (unsigned int channelIDOnMat) const |
| Get position of a given channel relative to the mat "left" edge. More... | |
| void | SetSideAndMainSegmDir (RefFrame::Side dside, RefFrame::Direction segmDir) override |
| Set the detector side and the main segmentation direction for fibers. More... | |
| void | SetNSipmPerMat (int nSipms) |
| Set the number of sipms per mat. More... | |
| void | SetMatSize (const AxesArray< float > &sizes) |
| Set the mat sizes along the three axes. More... | |
| void | SetNMats (AxesArray< int > nMats) |
| Set the number of mats along each axis. More... | |
| void | SetMatPosition (size_t matID, Point position) |
| Set the mat position for a given mat. More... | |
Public Member Functions inherited from Herd::TrackingDetectorGeoParams | |
| TrackingDetectorGeoParams () | |
| Default constructor. More... | |
| virtual | ~TrackingDetectorGeoParams ()=default |
| Virtual destructor. More... | |
| virtual const RefFrame::Side & | Side () 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 RefFrame::Direction | NormalDirection () const |
| Get the normal direction to the detector. More... | |
| virtual std::pair< RefFrame::Direction, RefFrame::Direction > | SegmentationDirections () const |
| Return the segmentation directions of the tracking 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 | |
| float | _sipmAirGap = 0.009 |
| Position of all the mats. More... | |
| float | _sipmDieGap = 0.022 |
| Gap between two consecutive SiPMs. More... | |
| float | _sipmDeadRegion = 0.016 |
| Gap between two dies in a SiPM. More... | |
| float | _sipmChannelPitch = 0.025 |
| Dead region at the border of a SiPM. More... | |
| size_t | _sipmDieChannels = 64 |
| Pitch of a single SiPM channel (250um) More... | |
| size_t | _sipmNDies = 2 |
| Number of channels in a single die. More... | |
| float | _sipmWidth |
| Number of dies in a SiPM. More... | |
| std::vector< std::pair< float, float > > | _sipmRelativePositions |
| Width of the SiPM sensor [cm]. More... | |
Protected Attributes inherited from Herd::TrackingDetectorGeoParams | |
| 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... | |
Private Attributes | |
| unsigned int | _nSipmsPerMat |
| AxesArray< int > | _nMats |
| Number of SiPMs in each mat. More... | |
| AxesArray< float > | _matSize |
| Number of mats along the three axes. More... | |
| std::vector< Point > | _matPos |
| Dimensions of a mat along the three axes. More... | |
Data structure for single silicon layer geometry parameters.
| Herd::FitGeoParams::FitGeoParams | ( | ) |
Default constructor.
| Herd::FitGeoParams::FitGeoParams | ( | RefFrame::Side | dside, |
| size_t | layerNumber, | ||
| RefFrame::Direction | mainSegm | ||
| ) |
Construct a new FitGeoParams object.
| dside | The detector side. |
| stripMainSegm | The main segmentation direction for strips. |
|
virtualdefault |
Virtual destructor.
| unsigned int Herd::FitGeoParams::ChannelIDOnMat | ( | float | relativePosition | ) | const |
Returns the channel ID on mat.
This method computes the relative channel ID on the mat for the given relative position along the segmentation direction. This will return 0 for the first channel of the mat etc. N.B: relativePosition is always w.r.t. the "leftmost" mat edge (mat position - 0.5* mat size) irregardless of wether the channel number increases or decreases with the coordinate.
| relativePosition | The hit position w.r.t. the mat "left" edge. |
| float Herd::FitGeoParams::ChannelPositionOnMat | ( | unsigned int | channelIDOnMat | ) | const |
Get position of a given channel relative to the mat "left" edge.
| channelID | The relative ID of the channel in the mat. |
|
overridevirtual |
Utility function to get the element ID from a set of coordinates.
| position | The coordinates of the point (normal coordinate is ignored). |
| std::range_error | if the given position does not lie on a sipm. |
Implements Herd::TrackingDetectorGeoParams.
|
overridevirtual |
Get position of a given element.
| elementD | The unique geometric ID of the element. |
Implements Herd::TrackingDetectorGeoParams.
|
inline |
Get gap between two consecutive SiPM.
| unsigned int Herd::FitGeoParams::MatID | ( | const Point & | position | ) | const |
Retrieves the volume ID of the mat containing the given point.
| position |
| unsigned int Herd::FitGeoParams::MatIDFromChannelID | ( | unsigned int | channelID | ) | const |
Retrieves the volume ID of the mat containing the sipm with the given channelID.
| channelID |
|
inline |
Get position of a given mat.
| matID | The unique ID of the mat. |
|
inline |
Get the dimensions of the single mat.
|
inline |
Get the number of channels that are in a mat.
|
inline |
Get the number of channels in a single SiPM.
|
inline |
Get the number of ladder that make up a layer. This is intended as number of ladders along each direction. As a convention the number of ladders in the normal plane direction is one.
|
inline |
Get the number of sipms that are attached to a mat.
|
inline |
Return the total number of FIT mats.
|
inline |
Set the mat position for a given mat.
See the wiki page for the mat numbering convention.
| matID | |
| position |
| void Herd::FitGeoParams::SetMatSize | ( | const AxesArray< float > & | sizes | ) |
Set the mat sizes along the three axes.
| sizes | the size of the mat along each axis [cm]. |
| void Herd::FitGeoParams::SetNMats | ( | AxesArray< int > | nMats | ) |
Set the number of mats along each axis.
The value for the orthogonal axis must be 1.
| nLadders | The number of mats along each direction |
| std::runtime_error | if the number of mats along the orthogonal direction is not 1. |
|
inline |
Set the number of sipms per mat.
Must be called after SetSideAndMainSegmDir and SetMatSize. This method computes and sets also the AirGap.
| nSipms | The number of sipms per mat. |
| std::runtime_error | if this method is called before SetSideAndMainSegmDir or SetMatSize. |
|
overridevirtual |
Set the detector side and the main segmentation direction for fibers.
| dside | The side. |
| segmDir | the main segmentation direction for fibers. |
Implements Herd::TrackingDetectorGeoParams.
| unsigned int Herd::FitGeoParams::SipmIDFromChannelID | ( | unsigned int | channelID | ) | const |
Retrieves the ID of the SiPM containing the channel with the given channelID.
| channelID |
| unsigned int Herd::FitGeoParams::SipmIDOnMat | ( | float | relativePosition | ) | const |
Returns the sipm ID on mat.
This method computes the relative sipm ID on the mat for the given position ont he mat itself. This will return 0 for the first sipm of the mat etc. N.B: relativePosition is always w.r.t. the "leftmost" mat edge (mat position - 0.5* mat size) irregardless of wether the channel number increases or decreases with the coordinate.
| relativePosition | The hit position w.r.t. the mat "left" edge. |
| Point Herd::FitGeoParams::SipmPosition | ( | unsigned int | sipmID | ) | const |
Get position of a given SiPM.
| sipmID | The unique ID of the SiPM. |
|
private |
Dimensions of a mat along the three axes.
|
private |
Number of mats along the three axes.
|
private |
Number of SiPMs in each mat.
|
private |
|
protected |
Position of all the mats.
|
protected |
Dead region at the border of a SiPM.
|
protected |
Gap between two dies in a SiPM.
|
protected |
Pitch of a single SiPM channel (250um)
|
protected |
Gap between two consecutive SiPMs.
|
protected |
Number of channels in a single die.
|
protected |
Width of the SiPM sensor [cm].
|
protected |
Number of dies in a SiPM.
1.8.13