101 template <typename track_T>
105 return bzOnly ? propagateToX(track,
x, getBz(track.getXYZGlo()),
maxSnp,
maxStep,
matCorr,
tofInfo,
signCorr) : PropagateToXBxByBz(track,
x,
maxSnp,
maxStep,
matCorr,
tofInfo,
signCorr);
112 return linRef ? propagateToX(track, *
linRef,
x,
bZ,
maxSnp,
maxStep,
matCorr,
tofInfo,
signCorr) : propagateToX(track,
x,
bZ,
maxSnp,
maxStep,
matCorr,
tofInfo,
signCorr);
119 return linRef ? PropagateToXBxByBz(track, *
linRef,
x,
maxSnp,
maxStep,
matCorr,
tofInfo,
signCorr) : PropagateToXBxByBz(track,
x,
maxSnp,
maxStep,
matCorr,
tofInfo,
signCorr);
125 return bzOnly ? propagateToX(track,
linRef,
x, getBz(track.getXYZGlo()),
maxSnp,
maxStep,
matCorr,
tofInfo,
signCorr) : PropagateToXBxByBz(track,
linRef,
x,
maxSnp,
maxStep,
matCorr,
tofInfo,
signCorr);
128 template <
typename track_T>
135 template <typename track_T>
141 o2::dataformats::DCA* dcaInfo =
nullptr, track::TrackLTIntegral*
tofInfo =
nullptr,
144 GPUd()
bool propagateToDCABxByBz(
const o2::dataformats::VertexBase& vtx,
o2::track::TrackParametrizationWithError<
value_type>& track,
146 o2::dataformats::DCA* dcaInfo =
nullptr, track::TrackLTIntegral*
tofInfo =
nullptr,
167 GPUd()
void setTGeoFallBackAllowed(
bool v) { mTGeoFallBackAllowed =
v; }
168 GPUd() bool isTGeoFallBackAllowed()
const {
return mTGeoFallBackAllowed; }
171 GPUd()
void setGPUField(
const o2::gpu::GPUTPCGMPolynomialField* field) { mGPUField = field; }
172 GPUd()
const o2::gpu::GPUTPCGMPolynomialField* getGPUField()
const {
return mGPUField; }
174 GPUd() bool hasMagFieldSet()
const {
return mField !=
nullptr; }
187 static int initFieldFromGRP(
const std::string grpFileName =
"",
bool verbose =
false);
188 static int initFieldFromGRP(
float currL3,
float currDip,
bool uniform,
bool verbose =
false);
207 template <typename T>
209 template <typename T>
212 const o2::field::MagFieldFast* mFieldFast =
nullptr;
213 o2::field::MagneticField* mField =
nullptr;
216 bool mTGeoFallBackAllowed = true;
218 const o2::gpu::GPUTPCGMPolynomialField* mGPUField =
nullptr;