You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -71,10 +72,11 @@ class GeometryTGeo : public o2::detectors::DetMatrixCache
71
72
voidsetOwner(bool v) { mOwner = v; }
72
73
73
74
voidPrint(Option_t* opt = "") const;
74
-
voidPrintChipID(int index, int subDetID, int petalcase, int disk, int lay, int stave, int indexRetrieved) const;
75
+
voidPrintChipID(int index, int subDetID, int petalcase, int disk, int lay, int stave, inthalfstave, intindexRetrieved) const;
75
76
76
77
intgetLayer(int index) const;
77
78
intgetStave(int index) const;
79
+
intgetHalfStave(int index) const;
78
80
intgetSubDetID(int index) const;
79
81
intgetPetalCase(int index) const;
80
82
intgetDisk(int index) const;
@@ -85,14 +87,16 @@ class GeometryTGeo : public o2::detectors::DetMatrixCache
85
87
/// \param int disk The disk number for VD, from 0 to 5
86
88
/// \param int lay The layer number. Starting from 0 both for VD and MLOT
87
89
/// \param int stave The stave number for MLOT. Starting from 0
88
-
intgetChipIndex(int subDetID, int petalcase, int disk, int lay, int stave) const;
90
+
/// \param int halfstave The half stave number for MLOT. Can be 0 or 1
91
+
intgetChipIndex(int subDetID, int petalcase, int disk, int lay, int stave, int halfstave) const;
89
92
90
93
/// This routine computes the chip index number from the subDetID, volume, layer, stave /// TODO: retrieve also from chip when chips will be available
91
94
/// \param int subDetID The subdetector ID, 0 for VD, 1 for MLOT
92
95
/// \param int volume is needed only with the current configuration for VD where each single element is a volume. // TODO: when the geometry naming scheme will be changed, change this method
93
96
/// \param int lay The layer number for the MLOT. In the current configuration for VD this is not needed. // TODO: when the geometry naming scheme will be changed, change this method
94
97
/// \param int stave The stave number in each layer for MLOT. Starting from 0.
95
-
intgetChipIndex(int subDetID, int volume, int lay, int stave) const;
98
+
/// \param int halfstave The half stave number for MLOT. Can be 0 or 1
99
+
intgetChipIndex(int subDetID, int volume, int lay, int stave, int halfstave) const;
96
100
97
101
/// This routine computes subDetID, petal, disk, layer, stave given the chip index number /// TODO: copute also from chip when chips will be available
98
102
/// \param int index The chip index number, starting from 0
@@ -101,7 +105,8 @@ class GeometryTGeo : public o2::detectors::DetMatrixCache
101
105
/// \param int disk The disk number for VD, from 0 to 5
102
106
/// \param int lay The layer number. Starting from 0 both for VD and MLOT
103
107
/// \param int stave The stave number for MLOT. Starting from 0
mNumberOfChipsPerLayerMLOT[i] = extractNumberOfStavesMLOT(i); // for the moment, considering 1 stave = 1 chip. TODO: add the final segmentation in chips
104
+
mNumberOfChipsPerLayerMLOT[i] = extractNumberOfStavesMLOT(i) * extractNumberOfHalfStavesMLOT(i); // for the moment, considering 1 half stave = 1 chip. TODO: add the final segmentation in chips
index -= getFirstChipIndex(lay, petalcase, subDetID); // get the index of the sensing element in the layer
194
+
return index % 2; /// 0 = half stave left, 1 = half stave right, as geometry is filled /// TODO: generalize once chips will be in place. Can it be working also with chips?
175
195
}
176
196
return -1; /// not found
177
197
}
@@ -193,7 +213,7 @@ int GeometryTGeo::getDisk(int index) const
intGeometryTGeo::getChipIndex(int subDetID, int volume, int lay, int stave) const
231
+
intGeometryTGeo::getChipIndex(int subDetID, int volume, int lay, int stave, int halfstave) const
212
232
{
213
233
if (subDetID == 0) { // VD
214
234
return volume; /// In the current configuration for VD, each volume is the sensor element = chip. // TODO: when the geometry naming scheme will be changed, change this method
0 commit comments