99 template <typename track_T>
103 return bzOnly ? propagateToX(track,
x, getBz(track.getXYZGlo()),
maxSnp,
maxStep,
matCorr,
tofInfo,
signCorr) : PropagateToXBxByBz(track,
x,
maxSnp,
maxStep,
matCorr,
tofInfo,
signCorr);
110 return linRef ? propagateToX(track, *
linRef,
x,
bZ,
maxSnp,
maxStep,
matCorr,
tofInfo,
signCorr) : propagateToX(track,
x,
bZ,
maxSnp,
maxStep,
matCorr,
tofInfo,
signCorr);
117 return linRef ? PropagateToXBxByBz(track, *
linRef,
x,
maxSnp,
maxStep,
matCorr,
tofInfo,
signCorr) : PropagateToXBxByBz(track,
x,
maxSnp,
maxStep,
matCorr,
tofInfo,
signCorr);
123 return bzOnly ? propagateToX(track,
linRef,
x, getBz(track.getXYZGlo()),
maxSnp,
maxStep,
matCorr,
tofInfo,
signCorr) : PropagateToXBxByBz(track,
linRef,
x,
maxSnp,
maxStep,
matCorr,
tofInfo,
signCorr);
126 template <
typename track_T>
133 template <typename track_T>
139 o2::dataformats::DCA* dcaInfo =
nullptr, track::TrackLTIntegral*
tofInfo =
nullptr,
142 GPUd()
bool propagateToDCABxByBz(
const o2::dataformats::VertexBase& vtx,
o2::track::TrackParametrizationWithError<
value_type>& track,
144 o2::dataformats::DCA* dcaInfo =
nullptr, track::TrackLTIntegral*
tofInfo =
nullptr,
165 GPUd()
void setTGeoFallBackAllowed(
bool v) { mTGeoFallBackAllowed =
v; }
166 GPUd() bool isTGeoFallBackAllowed()
const {
return mTGeoFallBackAllowed; }
169 GPUd()
void setGPUField(
const o2::gpu::GPUTPCGMPolynomialField* field) { mGPUField = field; }
170 GPUd()
const o2::gpu::GPUTPCGMPolynomialField* getGPUField()
const {
return mGPUField; }
172 GPUd() bool hasMagFieldSet()
const {
return mField !=
nullptr; }
186 static int initFieldFromGRP(
const std::string grpFileName =
"",
bool verbose =
false);
204 static constexpr value_type Epsilon = 0.00001;
205 template <
typename T>
207 template <typename T>
210 const o2::field::MagFieldFast* mFieldFast =
nullptr;
211 o2::field::MagneticField* mField =
nullptr;
214 bool mTGeoFallBackAllowed = true;
216 const o2::gpu::GPUTPCGMPolynomialField* mGPUField =
nullptr;