Skip to content

Commit 180e729

Browse files
committed
ITS3: Add explanation to SegmentationMosaix
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
1 parent a552754 commit 180e729

File tree

2 files changed

+20
-4
lines changed

2 files changed

+20
-4
lines changed

Detectors/Upgrades/ITS3/base/include/ITS3Base/SegmentationMosaix.h

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,16 @@ class SegmentationMosaix
3232
// the more natural row,col layout: Also all the transformation between these
3333
// two. The class provides the transformation from the tile to TGeo
3434
// coordinates.
35+
// In fact there exist three coordinate systems and one is transient.
36+
// 1. The curved coordinate system. The chip's local coordinate system is
37+
// defined with its center at the the mid-point of the tube.
38+
// 2. The flat coordinate system. This is the tube segment projected onto a flat
39+
// surface. In the projection we implicitly assume that the inner and outer
40+
// stretch does not depend on the radius.
41+
// Additionally, there is a difference between the flat geometrical center
42+
// and the phyiscal center defined by the metal layer.
43+
// 3. The detector coordinate system. Defined by the row and column segmentation
44+
// defined at the upper edge in the flat coord.
3545

3646
// row,col=0
3747
// |
@@ -71,7 +81,13 @@ class SegmentationMosaix
7181
static constexpr float SensorLayerThickness{constants::totalThickness};
7282
static constexpr float NominalYShift{constants::nominalYShift};
7383

74-
/// Transformation from the curved surface to a flat surface
84+
/// Transformation from the curved surface to a flat surface.
85+
/// Additionally a shift in the flat coordinates must be applied because
86+
/// the center of the TGeoShap when projected will be higher than the
87+
/// physical thickness of the chip (we add an additional hull to account for
88+
/// the copper metal interconnection which is in reality part of the chip but in our
89+
/// simulation the silicon and metal layer are separated). Thus we shift the projected center
90+
/// down by this difference to align the coordinate systems.
7591
/// \param xCurved Detector local curved coordinate x in cm with respect to
7692
/// the center of the sensitive volume.
7793
/// \param yCurved Detector local curved coordinate y in cm with respect to
@@ -93,7 +109,7 @@ class SegmentationMosaix
93109
}
94110

95111
/// Transformation from the flat surface to a curved surface
96-
/// It works only if the detector is not rototraslated
112+
/// It works only if the detector is not rototraslated.
97113
/// \param xFlat Detector local flat coordinate x in cm with respect to
98114
/// the center of the sensitive volume.
99115
/// \param yFlat Detector local flat coordinate y in cm with respect to

Detectors/Upgrades/ITS3/base/include/ITS3Base/SpecsV2.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,8 +134,8 @@ constexpr std::array<double, nLayers> radii{19.0006 * mm, 25.228 * mm, 31.4554 *
134134
constexpr std::array<double, nLayers> radiiInner{radii[0] - silicon::thicknessIn, radii[1] - silicon::thicknessIn, radii[2] - silicon::thicknessIn}; // inner silicon radius
135135
constexpr std::array<double, nLayers> radiiOuter{radii[0] + silicon::thicknessOut, radii[1] + silicon::thicknessOut, radii[2] + silicon::thicknessOut}; // outer silicon radius
136136
constexpr std::array<double, nLayers> radiiMiddle{(radiiInner[0] + radiiOuter[0]) / 2., (radiiInner[1] + radiiOuter[1]) / 2., (radiiInner[2] + radiiOuter[2]) / 2.}; // middle silicon radius
137-
/*constexpr double nominalYShift{-metalstack::thickness / 2.}; // shift to position in silicion volume to the chip volume (silicon+metalstack)*/
138-
constexpr double nominalYShift{0}; // shift to position in silicion volume to the chip volume (silicon+metalstack)
137+
constexpr double nominalYShift{-metalstack::thickness / 2.}; // shift to position in silicion volume to the chip volume (silicon+metalstack)
138+
/*constexpr double nominalYShift{0}; // shift to position in silicion volume to the chip volume (silicon+metalstack)*/
139139

140140
// extra information of pixels and their response functions
141141
namespace pixelarray::pixels

0 commit comments

Comments
 (0)