Skip to content

Commit c1c91c9

Browse files
Remove = delete
1 parent 08fc165 commit c1c91c9

File tree

5 files changed

+18
-50
lines changed

5 files changed

+18
-50
lines changed

GPU/GPUTracking/SectorTracker/GPUTPCTrackLinearisation.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919

2020
namespace o2::gpu
2121
{
22+
23+
using GPUTPCTrackParam = GPUTPCTrackParamSkeleton<wrapper::value>;
2224
/**
2325
* @class GPUTPCTrackLinearisation
2426
*

GPU/GPUTracking/SectorTracker/GPUTPCTrackParam.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -878,4 +878,4 @@ GPUd() int32_t GPUTPCTrackParamSkeleton<F>::GetPropagatedYZ(float bz, float x, f
878878

879879
template class GPUTPCTrackParamSkeleton<wrapper::value>;
880880
template class GPUTPCTrackParamSkeleton<wrapper::reference>;
881-
template class GPUTPCTrackParamSkeleton<wrapper::const_reference>;
881+
//template class GPUTPCTrackParamSkeleton<wrapper::const_reference>;

GPU/GPUTracking/SectorTracker/GPUTPCTrackParam.h

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -222,42 +222,6 @@ class GPUTPCTrackParamSkeleton : public CRTP<GPUTPCTrackParamSkeleton, F>
222222
F<int32_t> mNDF; // the Number of Degrees of Freedom
223223
};
224224

225-
template <> GPUd() void GPUTPCTrackParamSkeleton<wrapper::const_reference>::SetParam(GPUTPCBaseTrackParamSkeleton<wrapper::const_reference> v) = delete;
226-
template <> GPUd() void GPUTPCTrackParamSkeleton<wrapper::const_reference>::InitParam() = delete;
227-
228-
template <> GPUhd() void GPUTPCTrackParamSkeleton<wrapper::const_reference>::SetPar(int32_t i, float v) = delete;
229-
template <> GPUhd() void GPUTPCTrackParamSkeleton<wrapper::const_reference>::SetCov(int32_t i, float v) = delete;
230-
231-
template <> GPUd() void GPUTPCTrackParamSkeleton<wrapper::const_reference>::SetX(float v) = delete;
232-
template <> GPUd() void GPUTPCTrackParamSkeleton<wrapper::const_reference>::SetY(float v) = delete;
233-
template <> GPUd() void GPUTPCTrackParamSkeleton<wrapper::const_reference>::SetZ(float v) = delete;
234-
template <> GPUd() void GPUTPCTrackParamSkeleton<wrapper::const_reference>::SetSinPhi(float v) = delete;
235-
template <> GPUd() void GPUTPCTrackParamSkeleton<wrapper::const_reference>::SetDzDs(float v) = delete;
236-
template <> GPUd() void GPUTPCTrackParamSkeleton<wrapper::const_reference>::SetQPt(float v) = delete;
237-
template <> GPUd() void GPUTPCTrackParamSkeleton<wrapper::const_reference>::SetZOffset(float v) = delete;
238-
template <> GPUd() void GPUTPCTrackParamSkeleton<wrapper::const_reference>::SetSignCosPhi(float v) = delete;
239-
template <> GPUd() void GPUTPCTrackParamSkeleton<wrapper::const_reference>::SetChi2(float v) = delete;
240-
template <> GPUd() void GPUTPCTrackParamSkeleton<wrapper::const_reference>::SetNDF(int32_t v) = delete;
241-
242-
template <> GPUd() bool GPUTPCTrackParamSkeleton<wrapper::const_reference>::TransportToX(float x, float Bz, float maxSinPhi) = delete;
243-
template <> GPUd() bool GPUTPCTrackParamSkeleton<wrapper::const_reference>::TransportToXWithMaterial(float x, float Bz, float maxSinPhi) = delete;
244-
template <> GPUd() bool GPUTPCTrackParamSkeleton<wrapper::const_reference>::TransportToX(float x, GPUTPCTrackLinearisation& t0, float Bz, float maxSinPhi, float* DL) = delete;
245-
template <> GPUd() bool GPUTPCTrackParamSkeleton<wrapper::const_reference>::TransportToX(float x, float sinPhi0, float cosPhi0, float Bz, float maxSinPhi) = delete;
246-
template <> GPUd() bool GPUTPCTrackParamSkeleton<wrapper::const_reference>::TransportToXWithMaterial(float x, GPUTPCTrackLinearisation& t0, GPUTPCTrackFitParam& par, float Bz, float maxSinPhi) = delete;
247-
template <> GPUd() bool GPUTPCTrackParamSkeleton<wrapper::const_reference>::TransportToXWithMaterial(float x, GPUTPCTrackFitParam& par, float Bz, float maxSinPhi) = delete;
248-
template <> GPUd() void GPUTPCTrackParamSkeleton<wrapper::const_reference>::CalculateFitParameters(GPUTPCTrackFitParam& par, float mass) = delete;
249-
template <> GPUd() bool GPUTPCTrackParamSkeleton<wrapper::const_reference>::CorrectForMeanMaterial(float xOverX0, float xTimesRho, const GPUTPCTrackFitParam& par) = delete;
250-
template <> GPUd() bool GPUTPCTrackParamSkeleton<wrapper::const_reference>::Rotate(float alpha, float maxSinPhi) = delete;
251-
template <> GPUd() bool GPUTPCTrackParamSkeleton<wrapper::const_reference>::Rotate(float alpha, GPUTPCTrackLinearisation& t0, float maxSinPhi) = delete;
252-
template <> GPUd() bool GPUTPCTrackParamSkeleton<wrapper::const_reference>::Filter(float y, float z, float err2Y, float err2Z, float maxSinPhi, bool paramOnly) = delete;
253-
254-
template <> GPUd() void GPUTPCTrackParamSkeleton<wrapper::const_reference>::ShiftZ(float z1, float z2, float x1, float x2, float bz, float defaultZOffsetOverR) = delete;
255-
template <> GPUd() void GPUTPCTrackParamSkeleton<wrapper::const_reference>::ConstrainZ(float& z, int32_t sector, float& z0, float& lastZ) = delete;
256-
257-
template <> GPUdi() void GPUTPCTrackParamSkeleton<wrapper::const_reference>::ConstrainSinPhi(float limit) = delete;
258-
259-
using GPUTPCTrackParam = GPUTPCTrackParamSkeleton<wrapper::value>;
260-
261225
} // namespace o2::gpu
262226

263227
#endif // GPUTPCTRACKPARAM_H

GPU/GPUTracking/SectorTracker/GPUTPCTrackletConstructor.cxx

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,15 @@
2929

3030
using namespace o2::gpu;
3131

32-
GPUdii() void GPUTPCTrackletConstructor::InitTracklet(GPUTPCTrackParam& GPUrestrict() tParam)
32+
using GPUTPCTrackParam_reference = GPUTPCTrackParamSkeleton<wrapper::reference>;
33+
34+
GPUdii() void GPUTPCTrackletConstructor::InitTracklet(GPUTPCTrackParam_reference GPUrestrict() tParam)
3335
{
3436
// Initialize Tracklet Parameters using default values
3537
tParam.InitParam();
3638
}
3739

38-
GPUd() bool GPUTPCTrackletConstructor::CheckCov(GPUTPCTrackParam& GPUrestrict() tParam)
40+
GPUd() bool GPUTPCTrackletConstructor::CheckCov(GPUTPCTrackParam_reference GPUrestrict() tParam)
3941
{
4042
bool ok = 1;
4143
const float* c = tParam.Cov();
@@ -52,7 +54,7 @@ GPUd() bool GPUTPCTrackletConstructor::CheckCov(GPUTPCTrackParam& GPUrestrict()
5254
return (ok);
5355
}
5456

55-
GPUd() void GPUTPCTrackletConstructor::StoreTracklet(int32_t /*nBlocks*/, int32_t /*nThreads*/, int32_t /*iBlock*/, int32_t /*iThread*/, GPUsharedref() GPUSharedMemory& s, GPUTPCThreadMemory& GPUrestrict() r, GPUconstantref() GPUTPCTracker& GPUrestrict() tracker, GPUTPCTrackParam& GPUrestrict() tParam, calink* rowHits)
57+
GPUd() void GPUTPCTrackletConstructor::StoreTracklet(int32_t /*nBlocks*/, int32_t /*nThreads*/, int32_t /*iBlock*/, int32_t /*iThread*/, GPUsharedref() GPUSharedMemory& s, GPUTPCThreadMemory& GPUrestrict() r, GPUconstantref() GPUTPCTracker& GPUrestrict() tracker, GPUTPCTrackParam_reference GPUrestrict() tParam, calink* rowHits)
5658
{
5759
// reconstruction of tracklets, tracklet store step
5860
const uint32_t nHits = r.mLastRow + 1 - r.mFirstRow;
@@ -103,7 +105,7 @@ GPUd() void GPUTPCTrackletConstructor::StoreTracklet(int32_t /*nBlocks*/, int32_
103105
}
104106

105107
template <class T>
106-
GPUdic(2, 1) void GPUTPCTrackletConstructor::UpdateTracklet(int32_t /*nBlocks*/, int32_t /*nThreads*/, int32_t /*iBlock*/, int32_t /*iThread*/, GPUsharedref() T& s, GPUTPCThreadMemory& GPUrestrict() r, GPUconstantref() GPUTPCTracker& GPUrestrict() tracker, GPUTPCTrackParam& GPUrestrict() tParam, int32_t iRow, calink& rowHit, calink* rowHits)
108+
GPUdic(2, 1) void GPUTPCTrackletConstructor::UpdateTracklet(int32_t /*nBlocks*/, int32_t /*nThreads*/, int32_t /*iBlock*/, int32_t /*iThread*/, GPUsharedref() T& s, GPUTPCThreadMemory& GPUrestrict() r, GPUconstantref() GPUTPCTracker& GPUrestrict() tracker, GPUTPCTrackParam_reference GPUrestrict() tParam, int32_t iRow, calink& rowHit, calink* rowHits)
107109
{
108110
// reconstruction of tracklets, tracklets update step
109111
CA_MAKE_SHARED_REF(GPUTPCRow, row, tracker.Row(iRow), s.mRows[iRow]);
@@ -293,7 +295,7 @@ GPUdic(2, 1) void GPUTPCTrackletConstructor::UpdateTracklet(int32_t /*nBlocks*/,
293295
calink best = CALINK_INVAL;
294296

295297
float err2Y, err2Z;
296-
tracker.GetErrors2Seeding(iRow, *((GPUTPCTrackParam*)&tParam), -1.f, err2Y, err2Z); // TODO: Use correct time
298+
tracker.GetErrors2Seeding(iRow, tParam, -1.f, err2Y, err2Z); // TODO: Use correct time
297299
if (r.mNHits >= 10) {
298300
const float sErr2 = tracker.Param().GetSystematicClusterErrorIFC2(x, tParam.GetY(), tParam.GetZ(), tracker.ISector() >= 18);
299301
err2Y += sErr2;
@@ -402,7 +404,7 @@ GPUdic(2, 1) void GPUTPCTrackletConstructor::UpdateTracklet(int32_t /*nBlocks*/,
402404
GPUdic(2, 1) void GPUTPCTrackletConstructor::DoTracklet(GPUconstantref() GPUTPCTracker& GPUrestrict() tracker, GPUsharedref() GPUTPCTrackletConstructor::GPUSharedMemory& s, GPUTPCThreadMemory& GPUrestrict() r)
403405
{
404406
int32_t iRow = 0, iRowEnd = GPUCA_ROW_COUNT;
405-
GPUTPCTrackParam tParam;
407+
GPUTPCTrackParamSkeleton<wrapper::value> tParam;
406408
calink rowHits[GPUCA_ROW_COUNT];
407409
if (r.mGo) {
408410
GPUTPCHitId id = tracker.TrackletStartHits()[r.mISH];
@@ -490,7 +492,7 @@ GPUdii() void GPUTPCTrackletConstructor::Thread(int32_t nBlocks, int32_t nThread
490492
}
491493

492494
template <> // FIXME: GPUgeneric() needed to make the clang spirv output link correctly
493-
GPUd() int32_t GPUTPCTrackletConstructor::GPUTPCTrackletConstructorExtrapolationTracking<GPUgeneric() GPUTPCExtrapolationTracking::GPUSharedMemory>(GPUconstantref() GPUTPCTracker& GPUrestrict() tracker, GPUsharedref() GPUTPCExtrapolationTracking::GPUSharedMemory& sMem, GPUTPCTrackParam& GPUrestrict() tParam, int32_t row, int32_t increment, int32_t iTracklet, calink* rowHits)
495+
GPUd() int32_t GPUTPCTrackletConstructor::GPUTPCTrackletConstructorExtrapolationTracking<GPUgeneric() GPUTPCExtrapolationTracking::GPUSharedMemory>(GPUconstantref() GPUTPCTracker& GPUrestrict() tracker, GPUsharedref() GPUTPCExtrapolationTracking::GPUSharedMemory& sMem, GPUTPCTrackParam_reference GPUrestrict() tParam, int32_t row, int32_t increment, int32_t iTracklet, calink* rowHits)
494496
{
495497
GPUTPCThreadMemory rMem;
496498
rMem.mISH = iTracklet;

GPU/GPUTracking/SectorTracker/GPUTPCTrackletConstructor.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
#define GPUTPCTRACKLETCONSTRUCTOR_H
1717

1818
#include "GPUTPCDef.h"
19-
#include "GPUTPCTrackParam.h"
2019
#include "GPUGeneralKernels.h"
2120
#include "GPUConstantMem.h"
2221

@@ -27,6 +26,7 @@ namespace o2::gpu
2726
*
2827
*/
2928
class GPUTPCTracker;
29+
template <template <class> class F> class GPUTPCTrackParamSkeleton;
3030

3131
class GPUTPCTrackletConstructor : public GPUKernelTemplate
3232
{
@@ -70,19 +70,19 @@ class GPUTPCTrackletConstructor : public GPUKernelTemplate
7070
#endif // GPUCA_TRACKLET_CONSTRUCTOR_DO_PROFILE
7171
};
7272

73-
GPUd() static void InitTracklet(GPUTPCTrackParam& tParam);
73+
GPUd() static void InitTracklet(GPUTPCTrackParamSkeleton<wrapper::reference> tParam);
7474

7575
template <class T>
76-
GPUd() static void UpdateTracklet(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() T& s, GPUTPCThreadMemory& r, GPUconstantref() GPUTPCTracker& tracker, GPUTPCTrackParam& tParam, int32_t iRow, calink& rowHit, calink* rowHits);
76+
GPUd() static void UpdateTracklet(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() T& s, GPUTPCThreadMemory& r, GPUconstantref() GPUTPCTracker& tracker, GPUTPCTrackParamSkeleton<wrapper::reference> tParam, int32_t iRow, calink& rowHit, calink* rowHits);
7777

78-
GPUd() static void StoreTracklet(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() GPUSharedMemory& s, GPUTPCThreadMemory& r, GPUconstantref() GPUTPCTracker& tracker, GPUTPCTrackParam& tParam, calink* rowHits);
78+
GPUd() static void StoreTracklet(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() GPUSharedMemory& s, GPUTPCThreadMemory& r, GPUconstantref() GPUTPCTracker& tracker, GPUTPCTrackParamSkeleton<wrapper::reference> tParam, calink* rowHits);
7979

80-
GPUd() static bool CheckCov(GPUTPCTrackParam& tParam);
80+
GPUd() static bool CheckCov(GPUTPCTrackParamSkeleton<wrapper::reference> tParam);
8181

8282
GPUd() static void DoTracklet(GPUconstantref() GPUTPCTracker& tracker, GPUsharedref() GPUTPCTrackletConstructor::GPUSharedMemory& sMem, GPUTPCThreadMemory& rMem);
8383

8484
template <class T>
85-
GPUd() static int32_t GPUTPCTrackletConstructorExtrapolationTracking(GPUconstantref() GPUTPCTracker& tracker, GPUsharedref() T& sMem, GPUTPCTrackParam& tParam, int32_t startrow, int32_t increment, int32_t iTracklet, calink* rowHits);
85+
GPUd() static int32_t GPUTPCTrackletConstructorExtrapolationTracking(GPUconstantref() GPUTPCTracker& tracker, GPUsharedref() T& sMem, GPUTPCTrackParamSkeleton<wrapper::reference> tParam, int32_t startrow, int32_t increment, int32_t iTracklet, calink* rowHits);
8686

8787
typedef GPUconstantref() GPUTPCTracker processorType;
8888
GPUhdi() constexpr static GPUDataTypes::RecoStep GetRecoStep() { return GPUDataTypes::RecoStep::TPCSectorTracking; }

0 commit comments

Comments
 (0)