@@ -159,7 +159,8 @@ void TPCFastSpaceChargeCorrectionHelper::fillSpaceChargeCorrectionFromMap(TPCFas
159159 for (int i = 0 ; i < nDataPoints; ++i) {
160160 o2::gpu::TPCFastSpaceChargeCorrectionMap::CorrectionPoint p = data[i];
161161 // not corrected grid coordinates
162- auto [gu, gv, scale] = correction.convLocalToGrid (sector, row, p.mY , p.mZ );
162+ float gu, gv, scale;
163+ correction.convLocalToGrid (sector, row, p.mY , p.mZ , gu, gv, scale);
163164 if (scale - 1 .f > 1 .e -6 ) { // point is outside the grid
164165 continue ;
165166 }
@@ -300,7 +301,8 @@ std::unique_ptr<TPCFastSpaceChargeCorrection> TPCFastSpaceChargeCorrectionHelper
300301 double dpad = info.maxPad / (6 . * (nKnotsY - 1 ));
301302 for (double pad = 0 ; pad < info.maxPad + .5 * dpad; pad += dpad) {
302303 for (double l = 0 .; l < mGeo .getTPCzLength () + .5 * dl; l += dl) {
303- auto [y, z] = mGeo .convPadDriftLengthToLocal (iSector, iRow, pad, l);
304+ float y, z;
305+ mGeo .convPadDriftLengthToLocal (iSector, iRow, pad, l, y, z);
304306 double dx, dy, dz;
305307 correctionLocal (iSector, iRow, y, z, dx, dy, dz);
306308 mCorrectionMap .addCorrectionPoint (iSector, iRow,
@@ -360,7 +362,8 @@ void TPCFastSpaceChargeCorrectionHelper::testGeometry(const TPCFastTransformGeo&
360362 for (int pad = 0 ; pad < nPads; pad++) {
361363 const GlobalPadNumber p = mapper.globalPadNumber (PadPos (row, pad));
362364 const PadCentre& c = mapper.padCentre (p);
363- auto [y, z] = geo.convPadDriftLengthToLocal (0 , row, pad, 0 .);
365+ float y, z;
366+ geo.convPadDriftLengthToLocal (0 , row, pad, 0 ., y, z);
364367 const double dx = x - c.X ();
365368 const double dy = y - (-c.Y ()); // diferent sign convention for Y coordinate in the map
366369
@@ -974,18 +977,20 @@ void TPCFastSpaceChargeCorrectionHelper::initInverse(std::vector<o2::gpu::TPCFas
974977
975978 for (int iu = 0 ; iu < gridU.size (); iu++) {
976979 for (int iv = 0 ; iv < gridV.size (); iv++) {
977-
978- auto [y, z] = correction.convGridToLocal (sector, row, gridU[iu], gridV[iv]);
980+ float y, z;
981+ correction.convGridToLocal (sector, row, gridU[iu], gridV[iv], y, z );
979982 double dx = 0 , dy = 0 , dz = 0 ;
980983
981984 // add corrections
982985 for (int i = 0 ; i < corrections.size (); ++i) {
983- auto [dxTmp, dyTmp, dzTmp] = corrections[i]->getCorrectionLocal (sector, row, y, z);
986+ float dxTmp, dyTmp, dzTmp;
987+ corrections[i]->getCorrectionLocal (sector, row, y, z, dxTmp, dyTmp, dzTmp);
984988 dx += dxTmp * scaling[i];
985989 dy += dyTmp * scaling[i];
986990 dz += dzTmp * scaling[i];
987991 }
988- auto [gridU, gridV, scale] = correction.convRealLocalToGrid (sector, row, y + dy, z + dz);
992+ float gridU, gridV, scale;
993+ correction.convRealLocalToGrid (sector, row, y + dy, z + dz, gridU, gridV, scale);
989994 dataPointGridU.push_back (gridU);
990995 dataPointGridV.push_back (gridV);
991996 dataPointF.push_back (scale * dx);
@@ -1111,9 +1116,11 @@ void TPCFastSpaceChargeCorrectionHelper::mergeCorrections(
11111116 float P[nKnotPar3d];
11121117
11131118 { // direct correction
1114- auto [y, z] = mainCorrection.convGridToLocal (sector, row, u, v);
1119+ float y, z;
1120+ mainCorrection.convGridToLocal (sector, row, u, v, y, z);
11151121 // return values: u, v, scaling factor
1116- auto [lu, lv, ls] = corr.convLocalToGrid (sector, row, y, z);
1122+ float lu, lv, ls;
1123+ corr.convLocalToGrid (sector, row, y, z, lu, lv, ls);
11171124 ls *= scale;
11181125 double parscale[4 ] = {ls, ls * scaleU, ls * scaleV, ls * ls * scaleU * scaleV};
11191126 const auto & spl = corr.getSpline (sector, row);
@@ -1125,9 +1132,11 @@ void TPCFastSpaceChargeCorrectionHelper::mergeCorrections(
11251132 }
11261133 }
11271134
1128- auto [y, z] = mainCorrection.convGridToRealLocal (sector, row, u, v);
1135+ float y, z;
1136+ mainCorrection.convGridToRealLocal (sector, row, u, v, y, z);
11291137 // return values: u, v, scaling factor
1130- auto [lu, lv, ls] = corr.convRealLocalToGrid (sector, row, y, z);
1138+ float lu, lv, ls;
1139+ corr.convRealLocalToGrid (sector, row, y, z, lu, lv, ls);
11311140 ls *= scale;
11321141 double parscale[4 ] = {ls, ls * scaleRealU, ls * scaleRealV, ls * ls * scaleRealU * scaleRealV};
11331142
0 commit comments