@@ -45,13 +45,18 @@ class GPUTPCGMMergedTrack
4545 GPUd () bool Looper () const { return mFlags & 0x02 ; }
4646 GPUd () bool CSide () const { return mFlags & 0x04 ; }
4747 GPUd () bool CCE () const { return mFlags & 0x08 ; }
48- GPUd () bool MergedLooper () const { return mFlags & 0x10 ; }
48+ GPUd () bool MergedLooperUnconnected () const { return mFlags & 0x10 ; }
49+ GPUd () bool MergedLooperConnected () const { return mFlags & 0x20 ; }
50+ GPUd () bool MergedLooper () const { return mFlags & 0x30 ; }
51+ GPUd () int32_t PrevSegment () const { return mPrevSegment ; }
52+ GPUd () uint8_t Flags () const { return mFlags ; }
4953
5054 GPUd () void SetNClusters (int32_t v) { mNClusters = v; }
5155 GPUd () void SetNClustersFitted (int32_t v) { mNClustersFitted = v; }
5256 GPUd () void SetFirstClusterRef (int32_t v) { mFirstClusterRef = v; }
5357 GPUd () void SetParam (const GPUTPCGMTrackParam& v) { mParam = v; }
5458 GPUd () void SetAlpha (float v) { mAlpha = v; }
59+ GPUd () void SetPrevSegment (int32_t v) { mPrevSegment = v; }
5560 GPUd () void SetOK (bool v)
5661 {
5762 if (v) {
@@ -84,18 +89,23 @@ class GPUTPCGMMergedTrack
8489 mFlags &= 0xF7 ;
8590 }
8691 }
87- GPUd () void SetMergedLooper (bool v)
92+ GPUd () void SetMergedLooperUnconnected (bool v)
8893 {
8994 if (v) {
9095 mFlags |= 0x10 ;
9196 } else {
9297 mFlags &= 0xEF ;
9398 }
9499 }
100+ GPUd () void SetMergedLooperConnected (bool v)
101+ {
102+ if (v) {
103+ mFlags |= 0x20 ;
104+ } else {
105+ mFlags &= 0xDF ;
106+ }
107+ }
95108 GPUd () void SetFlags (uint8_t v) { mFlags = v; }
96- GPUd () void SetLegs (uint8_t v) { mLegs = v; }
97- GPUd () uint8_t Legs () const { return mLegs ; }
98- GPUd () uint8_t Flags () const { return mFlags ; }
99109
100110 GPUd () const gputpcgmmergertypes::GPUTPCOuterParam& OuterParam () const { return mOuterParam ; }
101111 GPUd () gputpcgmmergertypes::GPUTPCOuterParam& OuterParam () { return mOuterParam ; }
@@ -106,11 +116,11 @@ class GPUTPCGMMergedTrack
106116
107117 float mAlpha ; // * alpha angle
108118 uint32_t mFirstClusterRef ; // * index of the first track cluster in corresponding cluster arrays
119+ int32_t mPrevSegment ; // * next segment in case of looping track
109120 // TODO: Change to 8 bit
110121 uint32_t mNClusters ; // * number of track clusters
111122 uint32_t mNClustersFitted ; // * number of clusters used in fit
112123 uint8_t mFlags ;
113- uint8_t mLegs ;
114124
115125#if !defined(GPUCA_STANDALONE)
116126 ClassDefNV (GPUTPCGMMergedTrack, 0 );
0 commit comments