ATLAS Offline Software
Functions
SCT_DetectorTool.cxx File Reference
#include "SCT_GeoModel/SCT_DetectorTool.h"
#include "SCT_GeoModel/SCT_DetectorFactory.h"
#include "SCT_GeoModel/SCT_DetectorFactoryLite.h"
#include "SCT_GeoModel/SCT_DataBase.h"
#include "SCT_GeoModel/SCT_MaterialManager.h"
#include "SCT_GeoModel/SCT_Options.h"
#include "SCT_ReadoutGeometry/SCT_DetectorManager.h"
#include "DetDescrConditions/AlignableTransformContainer.h"
#include "GeoModelUtilities/GeoModelExperiment.h"
#include "GeoModelUtilities/DecodeVersionKey.h"
#include "StoreGate/DataHandle.h"
#include "RDBAccessSvc/IRDBRecord.h"
#include "RDBAccessSvc/IRDBRecordset.h"
#include "AthenaKernel/ClassID_traits.h"
#include "SGTools/DataProxy.h"

Go to the source code of this file.

Functions

StatusCode SCT_DetectorTool::registerCallback ATLAS_NOT_THREAD_SAFE ()
 Install fatal handler with default options. More...
 

Function Documentation

◆ ATLAS_NOT_THREAD_SAFE()

StatusCode SCT_DetectorTool::registerCallback ATLAS_NOT_THREAD_SAFE ( )
inline

Install fatal handler with default options.

This is meant to be easy to call from python via ctypes.

Install fatal handler with default options.

getLorentzAngle() Read LorentzAngle from HIST and write out into local DB

getBSErrors() Read BSErrors from Monitoring HIST and write out into local DB

getEfficiency() Read Efficiency from Monitoring HIST and write out into local DB

getRawOccupancy() Read RawOccupancy from Monitoring HIST and write out into local DB

getNoiseOccupancy() Read NoiseOccupancy from HIST and write out into local DB

getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats

Definition at line 201 of file SCT_DetectorTool.cxx.

202 {
203  StatusCode sc{StatusCode::FAILURE};
204  if (m_alignable.value()) {
205  if (m_useDynamicAlignFolders.value()) {
206 
207  if (detStore()->contains<CondAttrListCollection>(m_run2L1Folder.value())) {
208  ATH_MSG_DEBUG("Registering callback on global Container with folder " << m_run2L1Folder.value());
210  ATH_CHECK(detStore()->regFcn(&IGeoModelTool::align, dynamic_cast<IGeoModelTool*>(this), calc, m_run2L1Folder.value()));
211  sc = StatusCode::SUCCESS;
212  } else {
213  ATH_MSG_WARNING("Unable to register callback on global Container with folder " << m_run2L1Folder.value());
214  return StatusCode::FAILURE;
215  }
216 
217  if (detStore()->contains<CondAttrListCollection>(m_run2L2Folder.value())) {
218  ATH_MSG_DEBUG("Registering callback on global Container with folder " << m_run2L2Folder.value());
220  ATH_CHECK(detStore()->regFcn(&IGeoModelTool::align, dynamic_cast<IGeoModelTool*>(this), calc, m_run2L2Folder.value()));
221  sc = StatusCode::SUCCESS;
222  } else {
223  ATH_MSG_WARNING("Unable to register callback on global Container with folder " << m_run2L2Folder.value());
224  return StatusCode::FAILURE;
225  }
226 
227  if (detStore()->contains<AlignableTransformContainer>(m_run2L3Folder.value())) {
228  ATH_MSG_DEBUG("Registering callback on AlignableTransformContainer with folder " << m_run2L3Folder.value());
230  ATH_CHECK(detStore()->regFcn(&IGeoModelTool::align, dynamic_cast<IGeoModelTool*>(this), atc, m_run2L3Folder.value()));
231  sc = StatusCode::SUCCESS;
232  } else {
233  ATH_MSG_WARNING("Unable to register callback on AlignableTransformContainer with folder " << m_run2L3Folder.value());
234  return StatusCode::FAILURE;
235  }
236 
237  } else {
238 
239  if (detStore()->contains<AlignableTransformContainer>(m_run1Folder.value())) {
240  ATH_MSG_DEBUG("Registering callback on AlignableTransformContainer with folder " << m_run1Folder.value());
242  ATH_CHECK(detStore()->regFcn(&IGeoModelTool::align, dynamic_cast<IGeoModelTool*>(this), atc, m_run1Folder.value()));
243  sc = StatusCode::SUCCESS;
244  } else {
245  ATH_MSG_WARNING("Unable to register callback on AlignableTransformContainer with folder "
246  << m_run1Folder.value() << ", Alignment disabled (only if no Run2 scheme is loaded)!");
247  return StatusCode::FAILURE;
248  }
249  }
250 
251  } else {
252  ATH_MSG_INFO("Alignment disabled. No callback registered");
253  // We return failure otherwise it will try and register
254  // a GeoModelSvc callback associated with this callback.
255  return StatusCode::FAILURE;
256  }
257  return sc;
258 }
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
IGeoModelTool::align
virtual StatusCode align(IOVSVC_CALLBACK_ARGS)=0
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
DataHandle< CondAttrListCollection >
IGeoModelTool
Definition: IGeoModelTool.h:12
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
beamspotnt.calc
calc
Definition: bin/beamspotnt.py:1252