Skip to content

Commit 87ddaba

Browse files
committed
ITS3: move pixel specs down
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
1 parent d38fd80 commit 87ddaba

File tree

1 file changed

+44
-28
lines changed
  • Detectors/Upgrades/ITS3/base/include/ITS3Base

1 file changed

+44
-28
lines changed

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

Lines changed: 44 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@
2121

2222
#include <array>
2323

24+
// This files defines the design specifications of the chip.
25+
// Each TGeoShape has the following properties
26+
// length: dimension in z-axis
27+
// width: dimension in xy-axes
28+
// color: for visulisation
2429
namespace o2::its3::constants
2530
{
2631
constexpr double cm{1e+2}; // This is the default unit of TGeo so we use this as scale
@@ -35,27 +40,6 @@ constexpr int nRows{442};
3540
constexpr int nPixels{nRows * nCols};
3641
constexpr EColor color{kGreen};
3742
constexpr double area{width * length};
38-
namespace pixels
39-
{
40-
namespace apts
41-
{
42-
constexpr double pitchX{15.0 * mu};
43-
constexpr double pitchZ{15.0 * mu};
44-
} // namespace apts
45-
namespace moss
46-
{
47-
namespace top
48-
{
49-
constexpr double pitchX{22.5 * mu};
50-
constexpr double pitchZ{22.5 * mu};
51-
} // namespace top
52-
namespace bot
53-
{
54-
constexpr double pitchX{18.0 * mu};
55-
constexpr double pitchZ{18.0 * mu};
56-
} // namespace bot
57-
} // namespace moss
58-
} // namespace pixels
5943
} // namespace pixelarray
6044
namespace tile
6145
{
@@ -112,7 +96,7 @@ constexpr EColor color{kCyan};
11296
} // namespace rec
11397
constexpr unsigned int nRSUs{12};
11498
constexpr unsigned int nTilesPerSegment{nRSUs * rsu::nTiles};
115-
constexpr double length{nRSUs * rsu::length + lec::length + rec::length};
99+
constexpr double length{(nRSUs * rsu::length) + lec::length + rec::length};
116100
constexpr double lengthSensitive{nRSUs * rsu::length};
117101
} // namespace segment
118102
namespace carbonfoam
@@ -136,9 +120,9 @@ constexpr EColor color{kBlack};
136120
} // namespace metalstack
137121
namespace silicon
138122
{
139-
constexpr double thickness{45 * mu}; // thickness of silicion
140-
constexpr double radiusInner{(thickness + metalstack::thickness) / 2.}; // inner silicion radius correction
141-
constexpr double radiusOuter{(thickness - metalstack::thickness) / 2.}; // outer silicion radius correction
123+
constexpr double thickness{45 * mu}; // thickness of silicon
124+
constexpr double thicknessIn{(thickness + metalstack::thickness) / 2.}; // inner silicon thickness
125+
constexpr double thicknessOut{(thickness - metalstack::thickness) / 2.}; // outer silicon thickness
142126
} // namespace silicon
143127
constexpr unsigned int nLayers{3};
144128
constexpr unsigned int nTotLayers{7};
@@ -147,10 +131,42 @@ constexpr double equatorialGap{1 * mm};
147131
constexpr std::array<unsigned int, nLayers> nSegments{3, 4, 5};
148132
constexpr double totalThickness{silicon::thickness + metalstack::thickness}; // total chip thickness
149133
constexpr std::array<double, nLayers> radii{19.0006 * mm, 25.228 * mm, 31.4554 * mm}; // nominal radius
150-
constexpr std::array<double, nLayers> radiiInner{radii[0] - silicon::radiusInner, radii[1] - silicon::radiusInner, radii[2] - silicon::radiusInner}; // inner silicon radius
151-
constexpr std::array<double, nLayers> radiiOuter{radii[0] + silicon::radiusOuter, radii[1] + silicon::radiusOuter, radii[2] + silicon::radiusOuter}; // outer silicon radius
134+
constexpr std::array<double, nLayers> radiiInner{radii[0] - silicon::thicknessIn, radii[1] - silicon::thicknessIn, radii[2] - silicon::thicknessIn}; // inner silicon radius
135+
constexpr std::array<double, nLayers> radiiOuter{radii[0] + silicon::thicknessOut, radii[1] + silicon::thicknessOut, radii[2] + silicon::thicknessOut}; // outer silicon radius
152136
constexpr std::array<double, nLayers> radiiMiddle{(radiiInner[0] + radiiOuter[0]) / 2., (radiiInner[1] + radiiOuter[1]) / 2., (radiiInner[2] + radiiOuter[2]) / 2.}; // middle silicon radius
153-
constexpr double nominalYShift{-metalstack::thickness / 2.}; // 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)
139+
140+
// extra information of pixels and their response functions
141+
namespace pixelarray::pixels
142+
{
143+
namespace mosaix
144+
{
145+
constexpr double pitchX{width / static_cast<double>(nRows)};
146+
constexpr double pitchZ{length / static_cast<double>(nCols)};
147+
} // namespace mosaix
148+
namespace apts
149+
{
150+
constexpr double pitchX{15.0 * mu};
151+
constexpr double pitchZ{15.0 * mu};
152+
constexpr double responseUpperLimit{10 * mu};
153+
constexpr double responseYShift{responseUpperLimit - silicon::thicknessOut};
154+
} // namespace apts
155+
namespace moss
156+
{
157+
namespace top
158+
{
159+
constexpr double pitchX{22.5 * mu};
160+
constexpr double pitchZ{22.5 * mu};
161+
} // namespace top
162+
namespace bot
163+
{
164+
constexpr double pitchX{18.0 * mu};
165+
constexpr double pitchZ{18.0 * mu};
166+
} // namespace bot
167+
} // namespace moss
168+
} // namespace pixelarray::pixels
169+
154170
namespace detID
155171
{
156172
constexpr unsigned int mDetIDs{2 * 12 * 12 * 12}; //< 2 Hemispheres * (3,4,5=12 segments in a layer) * 12 RSUs in a segment * 12 Tiles in a RSU

0 commit comments

Comments
 (0)