Skip to content
Snippets Groups Projects
Commit 0e5ec0da authored by scott snyder's avatar scott snyder
Browse files

TrkEventTPCnv: Work around isSane() failue.

Just like for materialEffects, in some saved tracks the measurement
object also can trip isSane().  This happens, for example,
in the MuonCombineConfig unit test.  Work around by effectively bypassing
the isSane() test here in the same way we did for materialEffects.
parent 65bfd49d
No related branches found
No related tags found
6 merge requests!58791DataQualityConfigurations: Modify L1Calo config for web display,!46784MuonCondInterface: Enable thread-safety checking.,!46776Updated LArMonitoring config file for WD to match new files produced using MT,!45405updated ART test cron job,!42417Draft: DIRE and VINCIA Base Fragments for Pythia 8.3,!41952TrkEventTPCnv: Work around isSane() failue.
/* /*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
*/ */
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
...@@ -32,17 +32,19 @@ persToTrans( const Trk::TrackStateOnSurface_p3 *persObj, Trk::TrackStateOnSurfac ...@@ -32,17 +32,19 @@ persToTrans( const Trk::TrackStateOnSurface_p3 *persObj, Trk::TrackStateOnSurfac
const Trk::MaterialEffectsBase* materialEffects = createTransFromPStore( &matBaseCnv, persObj->m_materialEffects, log ); const Trk::MaterialEffectsBase* materialEffects = createTransFromPStore( &matBaseCnv, persObj->m_materialEffects, log );
// There were some tracks saved that violate the isSane test in // There were some tracks saved that violate the isSane test in
// TrackStateOnSurface. If we were to pass materialEffects to this ctor // TrackStateOnSurface. If we were to pass meas or materialEffects
// then we would trip that assertion. However, we want to preserve // to this ctor then we would trip that assertion. However,
// the previous behavior of the tp converters, which did allow reading // we want to preserve the previous behavior of the TP converters,
// such tracks. So defer setting the material pointer until // which did allow reading such tracks. So defer setting these pointers
// after the checks, // until after the checks,
*transObj = Trk::TrackStateOnSurface (meas, *transObj = Trk::TrackStateOnSurface (nullptr,
trackParameters, trackParameters,
fitQoS, fitQoS,
nullptr, nullptr,
persObj->m_typeFlags); persObj->m_typeFlags);
transObj->m_measurementOnTrack = meas;
transObj->m_materialEffectsOnTrack = materialEffects; transObj->m_materialEffectsOnTrack = materialEffects;
transObj->setFlags();
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment