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>
130 template <typename track_T>
136 o2::dataformats::DCA* dcaInfo =
nullptr, track::TrackLTIntegral*
tofInfo =
nullptr,
139 GPUd()
bool propagateToDCABxByBz(
const o2::dataformats::VertexBase& vtx,
o2::track::TrackParametrizationWithError<
value_type>& track,
141 o2::dataformats::DCA* dcaInfo =
nullptr, track::TrackLTIntegral*
tofInfo =
nullptr,
162 GPUd()
void setTGeoFallBackAllowed(
bool v) { mTGeoFallBackAllowed =
v; }
163 GPUd() bool isTGeoFallBackAllowed()
const {
return mTGeoFallBackAllowed; }
166 GPUd()
void setGPUField(
const o2::gpu::GPUTPCGMPolynomialField* field) { mGPUField = field; }
167 GPUd()
const o2::gpu::GPUTPCGMPolynomialField* getGPUField()
const {
return mGPUField; }
169 GPUd() bool hasMagFieldSet()
const {
return mField !=
nullptr; }
183 static int initFieldFromGRP(
const std::string grpFileName =
"",
bool verbose =
false);
201 static constexpr value_type Epsilon = 0.00001;
202 template <
typename T>
204 template <typename T>
207 const o2::field::MagFieldFast* mFieldFast =
nullptr;
208 o2::field::MagneticField* mField =
nullptr;
211 bool mTGeoFallBackAllowed = true;
213 const o2::gpu::GPUTPCGMPolynomialField* mGPUField =
nullptr;