Skip to content

Commit 684c956

Browse files
committed
Update indexing scheme
1 parent fc6071b commit 684c956

File tree

2 files changed

+30
-16
lines changed

2 files changed

+30
-16
lines changed

Detectors/Upgrades/ALICE3/TRK/base/include/TRKBase/GeometryTGeo.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ class GeometryTGeo : public o2::detectors::DetMatrixCache
7979
void setOwner(bool v) { mOwner = v; }
8080

8181
void Print(Option_t* opt = "") const;
82-
void PrintChipID(int index, int subDetID, int petalcase, int disk, int lay, int stave, int halfstave) const;
82+
void PrintChipID(int index, int subDetID, int petalcase, int disk, int lay, int stave, int halfstave, int mod, int chip) const;
8383

8484
int getSubDetID(int index) const;
8585
int getPetalCase(int index) const;

Detectors/Upgrades/ALICE3/TRK/base/src/GeometryTGeo.cxx

Lines changed: 29 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -246,9 +246,9 @@ int GeometryTGeo::getChipIndex(int subDetID, int petalcase, int disk, int lay, i
246246
}
247247
} else if (subDetID == 1) { // MLOT
248248
if (mNumberOfHalfStaves[lay] == 2) { // staggered geometry
249-
return getFirstChipIndex(lay, petalcase, subDetID) + stave * mNumberOfHalfStaves[lay] + halfstave;
249+
return getFirstChipIndex(lay, petalcase, subDetID) + stave * mNumberOfHalfStaves[lay] + halfstave * mNumberOfModules[lay] + mod * mNumberOfChips[lay] + chip;
250250
} else if (mNumberOfHalfStaves[lay] == 1) { // turbo geometry
251-
return getFirstChipIndex(lay, petalcase, subDetID) + stave;
251+
return getFirstChipIndex(lay, petalcase, subDetID) + stave * mNumberOfModules[lay] + mod * mNumberOfChips[lay] + chip;
252252
}
253253
}
254254
return -1; // not found
@@ -262,9 +262,9 @@ int GeometryTGeo::getChipIndex(int subDetID, int volume, int lay, int stave, int
262262

263263
} else if (subDetID == 1) { // MLOT
264264
if (mNumberOfHalfStaves[lay] == 2) { // staggered geometry
265-
return getFirstChipIndex(lay, -1, subDetID) + stave * mNumberOfHalfStaves[lay] + halfstave;
265+
return getFirstChipIndex(lay, -1, subDetID) + stave * mNumberOfHalfStaves[lay] + halfstave * mNumberOfModules[lay] + mod * mNumberOfChips[lay] + chip;
266266
} else if (mNumberOfHalfStaves[lay] == 1) { // turbo geometry
267-
return getFirstChipIndex(lay, -1, subDetID) + stave;
267+
return getFirstChipIndex(lay, -1, subDetID) + stave * mNumberOfModules[lay] + mod * mNumberOfChips[lay] + chip;
268268
}
269269
}
270270
return -1; // not found
@@ -289,10 +289,10 @@ bool GeometryTGeo::getChipID(int index, int& subDetID, int& petalcase, int& disk
289289
TString GeometryTGeo::getMatrixPath(int index) const
290290
{
291291

292-
int subDetID, petalcase, disk, layer, stave, halfstave, mod, chip; //// TODO: add chips in a second step
292+
int subDetID, petalcase, disk, layer, stave, halfstave, mod, chip;
293293
getChipID(index, subDetID, petalcase, disk, layer, stave, halfstave, mod, chip);
294294

295-
// PrintChipID(index, subDetID, petalcase, disk, layer, stave, halfstave);
295+
// PrintChipID(index, subDetID, petalcase, disk, layer, stave, halfstave, mod, chip);
296296

297297
// TString path = "/cave_1/barrel_1/TRKV_2/TRKLayer0_1/TRKStave0_1/TRKChip0_1/TRKSensor0_1/"; /// dummy path, to be used for tests
298298
TString path = Form("/cave_1/barrel_1/%s_2/", GeometryTGeo::getTRKVolPattern());
@@ -308,15 +308,15 @@ TString GeometryTGeo::getMatrixPath(int index) const
308308
path += Form("%s%d_%s%d_%s%d_1/", getTRKPetalPattern(), petalcase, getTRKPetalLayerPattern(), layer, getTRKChipPattern(), layer); // PETALCASEx_LAYERy_TRKChipy_1
309309
path += Form("%s%d_%s%d_%s%d_1/", getTRKPetalPattern(), petalcase, getTRKPetalLayerPattern(), layer, getTRKSensorPattern(), layer); // PETALCASEx_LAYERy_TRKSensory_1
310310
}
311-
} else if (subDetID == 1) { // MLOT
312-
path += Form("%s%d_1/", getTRKLayerPattern(), layer); // TRKLayerx_1
313-
path += Form("%s%d_%d/", getTRKStavePattern(), layer, stave); // TRKStavex_y
314-
if (mNumberOfHalfStaves[layer] == 2) { // staggered geometry
315-
path += Form("%s%d_%d/", getTRKChipPattern(), layer, halfstave); // TRKChipx_0/1
316-
} else if (mNumberOfHalfStaves[layer] == 1) { // turbo geometry
317-
path += Form("%s%d_1/", getTRKChipPattern(), layer); // TRKChipx_1
311+
} else if (subDetID == 1) { // MLOT
312+
path += Form("%s%d_1/", getTRKLayerPattern(), layer); // TRKLayerx_1
313+
path += Form("%s%d_%d/", getTRKStavePattern(), layer, stave); // TRKStavex_y
314+
if (mNumberOfHalfStaves[layer] == 2) { // staggered geometry
315+
path += Form("%s%d_%d/", getTRKHalfStavePattern(), layer, halfstave); // TRKHalfStavex_y
318316
}
319-
path += Form("%s%d_1/", getTRKSensorPattern(), layer); // TRKSensorx_1
317+
path += Form("%s%d_%d/", getTRKModulePattern(), layer, mod); // TRKModulx_y
318+
path += Form("%s%d_%d/", getTRKChipPattern(), layer, chip); // TRKChipx_y
319+
path += Form("%s%d_1/", getTRKSensorPattern(), layer); // TRKSensorx_1
320320
}
321321
return path;
322322
}
@@ -743,7 +743,7 @@ int GeometryTGeo::extractNumberOfChipsMLOT(int lay) const
743743
}
744744

745745
//__________________________________________________________________________
746-
void GeometryTGeo::PrintChipID(int index, int subDetID, int petalcase, int disk, int lay, int stave, int halfstave) const
746+
void GeometryTGeo::PrintChipID(int index, int subDetID, int petalcase, int disk, int lay, int stave, int halfstave, int mod, int chip) const
747747
{
748748
std::cout << "\nindex = " << index << std::endl;
749749
std::cout << "subDetID = " << subDetID << std::endl;
@@ -753,6 +753,8 @@ void GeometryTGeo::PrintChipID(int index, int subDetID, int petalcase, int disk,
753753
std::cout << "first chip index = " << getFirstChipIndex(lay, petalcase, subDetID) << std::endl;
754754
std::cout << "stave = " << stave << std::endl;
755755
std::cout << "halfstave = " << halfstave << std::endl;
756+
std::cout << "module = " << mod << std::endl;
757+
std::cout << "chip = " << chip << std::endl;
756758
}
757759

758760
//__________________________________________________________________________
@@ -780,6 +782,18 @@ void GeometryTGeo::Print(Option_t*) const
780782
mlot = (i < 4) ? "ML" : "OT";
781783
LOGF(info, "Layer: %d, %s, %d staves, %d half staves per stave", i, mlot.c_str(), mNumberOfStaves[i], mNumberOfHalfStaves[i]);
782784
}
785+
LOGF(info, "Number of modules per layer MLOT: ");
786+
for (int i = 0; i < mNumberOfLayersMLOT; i++) {
787+
LOGF(info, "%d", mNumberOfModules[i]);
788+
}
789+
LOGF(info, "Number of chips per module MLOT: ");
790+
for (int i = 0; i < mNumberOfLayersMLOT; i++) {
791+
LOGF(info, "%d", mNumberOfChips[i]);
792+
}
793+
LOGF(info, "Number of chips per layer MLOT: ");
794+
for (int i = 0; i < mNumberOfLayersMLOT; i++) {
795+
LOGF(info, "%d", mNumberOfChipsPerLayerMLOT[i]);
796+
}
783797
LOGF(info, "Total number of chips: %d", getNumberOfChips());
784798

785799
std::cout << "mLastChipIndex = [";

0 commit comments

Comments
 (0)