@@ -241,53 +241,53 @@ class GPUTPCGMMerger : public GPUProcessor
241241 int32_t mNextSectorInd [NSECTORS];
242242 int32_t mPrevSectorInd [NSECTORS];
243243
244- int32_t * mTrackLinks ;
244+ int32_t * mTrackLinks = nullptr ;
245245 int32_t * mTrackCCRoots ; // root of the connected component of this track
246246
247- uint32_t mNTotalSectorTracks ; // maximum number of incoming sector tracks
248- uint32_t mNMaxTracks ; // maximum number of output tracks
249- uint32_t mNMaxSingleSectorTracks ; // max N tracks in one sector
250- uint32_t mNMaxOutputTrackClusters ; // max number of clusters in output tracks (double-counting shared clusters)
251- uint32_t mNMaxClusters ; // max total unique clusters (in event)
252- uint32_t mNMaxLooperMatches ; // Maximum number of candidate pairs for looper matching
247+ uint32_t mNTotalSectorTracks = 0 ; // maximum number of incoming sector tracks
248+ uint32_t mNMaxTracks = 0 ; // maximum number of output tracks
249+ uint32_t mNMaxSingleSectorTracks = 0 ; // max N tracks in one sector
250+ uint32_t mNMaxOutputTrackClusters = 0 ; // max number of clusters in output tracks (double-counting shared clusters)
251+ uint32_t mNMaxClusters = 0 ; // max total unique clusters (in event)
252+ uint32_t mNMaxLooperMatches = 0 ; // Maximum number of candidate pairs for looper matching
253253
254- uint16_t mMemoryResMemory ;
255- uint16_t mMemoryResOutput ;
256- uint16_t mMemoryResOutputState ;
257- uint16_t mMemoryResOutputO2 ;
258- uint16_t mMemoryResOutputO2Clus ;
259- uint16_t mMemoryResOutputO2MC ;
260- uint16_t mMemoryResOutputO2Scratch ;
254+ uint16_t mMemoryResMemory = ( uint16_t )- 1 ;
255+ uint16_t mMemoryResOutput = ( uint16_t )- 1 ; ;
256+ uint16_t mMemoryResOutputState = ( uint16_t )- 1 ; ;
257+ uint16_t mMemoryResOutputO2 = ( uint16_t )- 1 ; ;
258+ uint16_t mMemoryResOutputO2Clus = ( uint16_t )- 1 ; ;
259+ uint16_t mMemoryResOutputO2MC = ( uint16_t )- 1 ; ;
260+ uint16_t mMemoryResOutputO2Scratch = ( uint16_t )- 1 ; ;
261261
262- int32_t mNClusters ; // Total number of incoming clusters (from sector tracks)
263- GPUTPCGMMergedTrack* mOutputTracks ; // * array of output merged tracks
264- GPUdEdxInfo* mOutputTracksdEdx ; // * dEdx information
265- GPUTPCGMSectorTrack* mSectorTrackInfos ; // * additional information for sector tracks
266- int32_t * mSectorTrackInfoIndex ;
267- GPUTPCGMMergedTrackHit* mClusters ;
268- GPUTPCGMMergedTrackHitXYZ* mClustersXYZ ;
269- GPUAtomic (uint32_t ) * mClusterAttachment ;
270- o2::tpc::TrackTPC* mOutputTracksTPCO2 ;
271- uint32_t * mOutputClusRefsTPCO2 ;
272- o2::MCCompLabel* mOutputTracksTPCO2MC ;
273- internal::MergeLooperParam* mLooperCandidates ;
262+ int32_t mNClusters = 0 ; // Total number of incoming clusters (from sector tracks)
263+ GPUTPCGMMergedTrack* mOutputTracks = nullptr ; // * array of output merged tracks
264+ GPUdEdxInfo* mOutputTracksdEdx = nullptr ; // * dEdx information
265+ GPUTPCGMSectorTrack* mSectorTrackInfos = nullptr ; // * additional information for sector tracks
266+ int32_t * mSectorTrackInfoIndex = nullptr ;
267+ GPUTPCGMMergedTrackHit* mClusters = nullptr ;
268+ GPUTPCGMMergedTrackHitXYZ* mClustersXYZ = nullptr ;
269+ GPUAtomic (uint32_t ) * mClusterAttachment = nullptr ;
270+ o2::tpc::TrackTPC* mOutputTracksTPCO2 = nullptr ;
271+ uint32_t * mOutputClusRefsTPCO2 = nullptr ;
272+ o2::MCCompLabel* mOutputTracksTPCO2MC = nullptr ;
273+ internal::MergeLooperParam* mLooperCandidates = nullptr ;
274274
275- uint32_t * mTrackOrderAttach ;
276- uint32_t * mTrackOrderProcess ;
277- uint8_t * mClusterStateExt ;
278- uint2* mClusRefTmp ;
279- int32_t * mTrackIDs ;
280- int32_t * mTmpSortMemory ;
281- uint32_t * mTrackSort ;
282- tmpSort* mTrackSortO2 ;
283- GPUAtomic (uint32_t ) * mSharedCount ; // Must be uint32_t unfortunately for atomic support
284- GPUTPCGMBorderTrack* mBorderMemory ; // memory for border tracks
275+ uint32_t * mTrackOrderAttach = nullptr ;
276+ uint32_t * mTrackOrderProcess = nullptr ;
277+ uint8_t * mClusterStateExt = nullptr ;
278+ uint2* mClusRefTmp = nullptr ;
279+ int32_t * mTrackIDs = nullptr ;
280+ int32_t * mTmpSortMemory = nullptr ;
281+ uint32_t * mTrackSort = nullptr ;
282+ tmpSort* mTrackSortO2 = nullptr ;
283+ GPUAtomic (uint32_t ) * mSharedCount = nullptr ; // Must be uint32_t unfortunately for atomic support
284+ GPUTPCGMBorderTrack* mBorderMemory = nullptr ; // memory for border tracks
285285 GPUTPCGMBorderTrack* mBorder [2 * NSECTORS];
286- gputpcgmmergertypes::GPUTPCGMBorderRange* mBorderRangeMemory ; // memory for border tracks
287- gputpcgmmergertypes::GPUTPCGMBorderRange* mBorderRange [NSECTORS]; // memory for border tracks
288- memory* mMemory ;
289- uint32_t * mRetryRefitIds ;
290- GPUTPCGMLoopData* mLoopData ;
286+ gputpcgmmergertypes::GPUTPCGMBorderRange* mBorderRangeMemory = nullptr ; // memory for border tracks
287+ gputpcgmmergertypes::GPUTPCGMBorderRange* mBorderRange [NSECTORS]; // memory for border tracks
288+ memory* mMemory = nullptr ;
289+ uint32_t * mRetryRefitIds = nullptr ;
290+ GPUTPCGMLoopData* mLoopData = nullptr ;
291291};
292292} // namespace o2::gpu
293293
0 commit comments