@@ -101,10 +101,17 @@ void GeometryTGeo::Build(int loadTrans)
101101 mLastChipIndexMLOT .resize (mNumberOfLayersMLOT ); // / ML and OT are part of TRK as the same detector, without disks
102102
103103 for (int i = 0 ; i < mNumberOfLayersMLOT ; i++) {
104- mNumberOfStaves [i] = extractNumberOfStavesMLOT (i);
105- mNumberOfHalfStaves [i] = extractNumberOfHalfStavesMLOT (i);
106- mNumberOfModules [i] = extractNumberOfModulesMLOT (i);
107- mNumberOfChips [i] = extractNumberOfChipsMLOT (i);
104+ if (mLayoutMLOT == eMLOTLayout::kCylindrical ) {
105+ mNumberOfStaves [i] = 1 ;
106+ mNumberOfHalfStaves [i] = 1 ;
107+ mNumberOfModules [i] = 1 ;
108+ mNumberOfChips [i] = 1 ;
109+ } else {
110+ mNumberOfStaves [i] = extractNumberOfStavesMLOT (i);
111+ mNumberOfHalfStaves [i] = extractNumberOfHalfStavesMLOT (i);
112+ mNumberOfModules [i] = extractNumberOfModulesMLOT (i);
113+ mNumberOfChips [i] = extractNumberOfChipsMLOT (i);
114+ }
108115 }
109116
110117 int numberOfChipsTotal = 0 ;
@@ -398,19 +405,8 @@ TString GeometryTGeo::getMatrixPath(int index) const
398405
399406 // PrintChipID(index, subDetID, petalcase, disk, layer, stave, halfstave, mod, chip);
400407
401- // TString path = "/cave_1/barrel_1/TRKV_2/TRKLayer0_1/TRKStave0_1/TRKChip0_1/TRKSensor0_1/"; /// dummy path, to be used for tests
402408 TString path = Form (" /cave_1/barrel_1/%s_2/" , GeometryTGeo::getTRKVolPattern ());
403409
404- // handling cylindrical configuration for ML and/or OT
405- // needed because of the different numbering scheme in the geometry for the cylindrical case wrt the staggered and turbo ones
406- if (subDetID == 1 ) {
407- if ((layer < 4 && mLayoutMLOT == eMLOTLayout::kCylindrical ) || (layer > 3 && mLayoutMLOT == eMLOTLayout::kCylindrical )) {
408- stave = 1 ;
409- mod = 1 ;
410- chip = 1 ;
411- }
412- }
413-
414410 // build the path
415411 if (subDetID == 0 ) { // VD
416412 if (disk >= 0 ) {
@@ -425,15 +421,19 @@ TString GeometryTGeo::getMatrixPath(int index) const
425421 path += Form (" %s%d_%s%d_%s%d_1/" , getTRKPetalPattern (), petalcase, getTRKPetalLayerPattern (), layer, getTRKChipPattern (), layer); // PETALCASEx_LAYERy_TRKChipy_1
426422 path += Form (" %s%d_%s%d_%s%d_1/" , getTRKPetalPattern (), petalcase, getTRKPetalLayerPattern (), layer, getTRKSensorPattern (), layer); // PETALCASEx_LAYERy_TRKSensory_1
427423 }
428- } else if (subDetID == 1 ) { // MLOT
429- path += Form (" %s%d_1/" , getTRKLayerPattern (), layer); // TRKLayerx_1
430- path += Form (" %s%d_%d/" , getTRKStavePattern (), layer, stave); // TRKStavex_y
431- if (mNumberOfHalfStaves [layer] == 2 ) { // staggered geometry
432- path += Form (" %s%d_%d/" , getTRKHalfStavePattern (), layer, halfstave); // TRKHalfStavex_y
424+ } else if (subDetID == 1 ) { // MLOT
425+ path += Form (" %s%d_1/" , getTRKLayerPattern (), layer); // TRKLayerx_1
426+ if (mLayoutMLOT == eMLOTLayout::kCylindrical ) {
427+ path += Form (" %s%d_1/" , getTRKSensorPattern (), layer); // TRKSensorx_1
428+ } else {
429+ path += Form (" %s%d_%d/" , getTRKStavePattern (), layer, stave); // TRKStavex_y
430+ if (mNumberOfHalfStaves [layer] == 2 ) { // staggered geometry
431+ path += Form (" %s%d_%d/" , getTRKHalfStavePattern (), layer, halfstave); // TRKHalfStavex_y
432+ }
433+ path += Form (" %s%d_%d/" , getTRKModulePattern (), layer, mod); // TRKModulx_y
434+ path += Form (" %s%d_%d/" , getTRKChipPattern (), layer, chip); // TRKChipx_y
435+ path += Form (" %s%d_1/" , getTRKSensorPattern (), layer); // TRKSensorx_1
433436 }
434- path += Form (" %s%d_%d/" , getTRKModulePattern (), layer, mod); // TRKModulx_y
435- path += Form (" %s%d_%d/" , getTRKChipPattern (), layer, chip); // TRKChipx_y
436- path += Form (" %s%d_1/" , getTRKSensorPattern (), layer); // TRKSensorx_1
437437 }
438438 return path;
439439}
0 commit comments