@@ -140,6 +140,7 @@ class propagatorInterface<AliTrackerBase> : public AliTrackerBase
140140#include " DataFormatsTPC/TrackTPC.h"
141141#include " ReconstructionDataFormats/GlobalTrackID.h"
142142#include " DetectorsBase/Propagator.h"
143+ #include " GPUTRDO2BaseTrack.h"
143144#include < cmath>
144145
145146namespace GPUCA_NAMESPACE
@@ -149,12 +150,12 @@ namespace gpu
149150{
150151
151152template <>
152- class trackInterface <o2::track::TrackParCov > : public o2::track::TrackParCov
153+ class trackInterface <GPUTRDO2BaseTrack > : public GPUTRDO2BaseTrack
153154{
154155 public:
155- trackInterface<o2::track::TrackParCov >() = default ;
156- trackInterface<o2::track::TrackParCov >(const o2::track::TrackParCov & param) = delete ;
157- trackInterface<o2::track::TrackParCov >(const o2::dataformats::TrackTPCITS& trkItsTpc, float vDrift) : o2::track::TrackParCov (trkItsTpc.getParamOut())
156+ trackInterface<GPUTRDO2BaseTrack >() = default ;
157+ trackInterface<GPUTRDO2BaseTrack >(const GPUTRDO2BaseTrack & param) = delete ;
158+ trackInterface<GPUTRDO2BaseTrack >(const o2::dataformats::TrackTPCITS& trkItsTpc, float vDrift) : GPUTRDO2BaseTrack (trkItsTpc.getParamOut())
158159 {
159160 mTime = trkItsTpc.getTimeMUS ().getTimeStamp ();
160161 mTimeAddMax = trkItsTpc.getTimeMUS ().getTimeStampError ();
@@ -163,7 +164,7 @@ class trackInterface<o2::track::TrackParCov> : public o2::track::TrackParCov
163164 mRefTPC = trkItsTpc.getRefTPC ();
164165 updateCov (std::pow (trkItsTpc.getTimeMUS ().getTimeStampError () * vDrift, 2 ), o2::track::CovLabels::kSigZ2 ); // account for time uncertainty by increasing sigmaZ2
165166 }
166- trackInterface<o2::track::TrackParCov >(const o2::tpc::TrackTPC& trkTpc, float tbWidth, float vDrift, unsigned int iTrk) : o2::track::TrackParCov (trkTpc.getParamOut())
167+ trackInterface<GPUTRDO2BaseTrack >(const o2::tpc::TrackTPC& trkTpc, float tbWidth, float vDrift, unsigned int iTrk) : GPUTRDO2BaseTrack (trkTpc.getParamOut())
167168 {
168169 mRefTPC = {iTrk, o2::dataformats::GlobalTrackID::TPC };
169170 mTime = trkTpc.getTime0 () * tbWidth;
@@ -190,8 +191,8 @@ class trackInterface<o2::track::TrackParCov> : public o2::track::TrackParCov
190191 setCov (cov[i], i);
191192 }
192193 }
193- trackInterface<o2::track::TrackParCov >(const GPUTPCGMMergedTrack& trk) { set (trk.OuterParam ().X , trk.OuterParam ().alpha , trk.OuterParam ().P , trk.OuterParam ().C ); }
194- trackInterface<o2::track::TrackParCov >(const GPUTPCGMTrackParam::GPUTPCOuterParam& param) { set (param.X , param.alpha , param.P , param.C ); }
194+ trackInterface<GPUTRDO2BaseTrack >(const GPUTPCGMMergedTrack& trk) { set (trk.OuterParam ().X , trk.OuterParam ().alpha , trk.OuterParam ().P , trk.OuterParam ().C ); }
195+ trackInterface<GPUTRDO2BaseTrack >(const GPUTPCGMTrackParam::GPUTPCOuterParam& param) { set (param.X , param.alpha , param.P , param.C ); }
195196
196197 const float * getPar () const { return getParams (); }
197198 float getTime () const { return mTime ; }
@@ -204,7 +205,7 @@ class trackInterface<o2::track::TrackParCov> : public o2::track::TrackParCov
204205
205206 bool CheckNumericalQuality () const { return true ; }
206207
207- typedef o2::track::TrackParCov baseClass;
208+ typedef GPUTRDO2BaseTrack baseClass;
208209
209210 private:
210211 o2::dataformats::GlobalTrackID mRefTPC ; // reference on TPC track entry in its original container
@@ -227,7 +228,7 @@ class propagatorInterface<o2::base::Propagator>
227228 bool propagateToX (float x, float maxSnp, float maxStep) { return mProp ->PropagateToXBxByBz (*mParam , x, maxSnp, maxStep); }
228229 int getPropagatedYZ (float x, float & projY, float & projZ) { return static_cast <int >(mParam ->getYZAt (x, mProp ->getNominalBz (), projY, projZ)); }
229230
230- void setTrack (trackInterface<o2::track::TrackParCov >* trk) { mParam = trk; }
231+ void setTrack (trackInterface<GPUTRDO2BaseTrack >* trk) { mParam = trk; }
231232 void setFitInProjections (bool flag) {}
232233
233234 float getAlpha () { return (mParam ) ? mParam ->getAlpha () : 99999 .f ; }
@@ -253,7 +254,7 @@ class propagatorInterface<o2::base::Propagator>
253254 }
254255 bool rotate (float alpha) { return (mParam ) ? mParam ->rotate (alpha) : false ; }
255256
256- trackInterface<o2::track::TrackParCov >* mParam {nullptr };
257+ trackInterface<GPUTRDO2BaseTrack >* mParam {nullptr };
257258 o2::base::Propagator* mProp {o2::base::Propagator::Instance ()};
258259};
259260
0 commit comments