1919
2020using namespace o2 ::gpu;
2121
22- int32_t GPUTPCGMPolynomialFieldManager::GetPolynomialField (StoredField_t fieldType, float nominalFieldkG, GPUTPCGMPolynomialField& field)
22+ int32_t GPUTPCGMPolynomialFieldManager::GetPolynomialField (StoredField_t fieldType, float nominalFieldkG, GPUTPCGMPolynomialField& field, float biasX, float biasY, float biasZ )
2323{
2424 //
2525 // get pre-calculated polynomial field approximation of the TPC region
@@ -180,10 +180,15 @@ int32_t GPUTPCGMPolynomialFieldManager::GetPolynomialField(StoredField_t fieldTy
180180 field.SetFieldTrd (TrdBx, TrdBy, TrdBz);
181181 field.SetFieldIts (ItsBx, ItsBy, ItsBz);
182182
183+ if (biasX!=0 .f || biasY!=0 .f || biasZ!=0 .f ) {
184+ field.ShiftFieldOriginIts (biasX, biasY, biasZ);
185+ field.ShiftFieldOriginTpc (biasX, biasY, biasZ);
186+ field.ShiftFieldOriginTrd (biasX, biasY, biasZ);
187+ }
183188 return 0 ;
184189}
185190
186- int32_t GPUTPCGMPolynomialFieldManager::GetPolynomialField (float nominalFieldkG, GPUTPCGMPolynomialField& field)
191+ int32_t GPUTPCGMPolynomialFieldManager::GetPolynomialField (float nominalFieldkG, GPUTPCGMPolynomialField& field, float biasX, float biasY, float biasZ )
187192{
188193 //
189194 // get closest pre-calculated polynomial field approximation of the TPC region for the given field value nominalFieldkG
@@ -204,5 +209,5 @@ int32_t GPUTPCGMPolynomialFieldManager::GetPolynomialField(float nominalFieldkG,
204209 type = k2kG;
205210 }
206211
207- return GetPolynomialField (type, nominalFieldkG, field);
212+ return GetPolynomialField (type, nominalFieldkG, field, biasX, biasY, biasZ );
208213}
0 commit comments