Skip to content

Revert SCT_AlignCondAlg to AthAlgorithm. Lock recursive mutex at the begining of each method. (ATLASRECTS-4824, ATLASSIM-3931)

Susumu Oda requested to merge oda/athena:master-SCT_AlignCondAlg-v2 into master

Revert SCT_AlignCondAlg to AthAlgorithm. Lock recursive mutex at the begining of each method.

I noticed that we cannot make SCT_AlignCondAlg reentrant because it has to use GeoVFullPhysVol::getDefAbsoluteTransform without argument. To be thread-safe, we need to pass non-const GeoVAlignmentStore pointer. https://gitlab.cern.ch/GeoModelDev/GeoModelKernel/blob/master/src/GeoVFullPhysVol.cxx#L84 But we cannot give non-const pointer for SiDetectorElement in SCT_DetectorManager in the following chain.

// SCT_AlignCondAlg::execute uses the following methods.
//  InDetDD::InDetDetectorManager::align
//   InDetDD::InDetDetectorManager::processAlignmentContainer
//    InDetDD::InDetDetectorManager::processKey
//     InDetDD::SCT_DetectorManager::setAlignableTransformDelta
//      InDetDD::SiDetectorElement::defModuleTransform
//       InDetDD::SiDetectorElement::defTransform
//        InDetDD::SiDetectorElement::defTransformCLHEP
//         GeoVFullPhysVol::getDefAbsoluteTransform
Edited by Susumu Oda

Merge request reports