@@ -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
289289TString 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 << " \n index = " << 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