ATLAS Offline Software
GeoDbTagSvc.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "GeoDbTagSvc.h"
6 #include "RDBMaterialManager.h"
7 #include "GaudiKernel/ServiceHandle.h"
8 
11 
12 GeoDbTagSvc::GeoDbTagSvc(const std::string& name,ISvcLocator* svc)
13  : base_class(name,svc)
14  , m_geoConfig(GeoModel::GEO_RUN1)
15 {
16 }
17 
19 {
20  ATH_MSG_DEBUG("initialize()");
21  return StatusCode::SUCCESS;
22 }
23 
25 {
26  ATH_MSG_DEBUG("finalize()");
27  return StatusCode::SUCCESS;
28 }
29 
31 {
32  ATH_MSG_DEBUG("setupTags()");
33  ATH_CHECK(m_rdbAccesSvc.retrieve());
34 
35  // Check if the Atlas version has already been set
36  if(m_AtlasVersion.empty()) {
37  ATH_MSG_FATAL("ATLAS tag not set!");
38  return StatusCode::FAILURE;
39  }
40 
41  // Get subsystem tags
43  ?m_rdbAccesSvc->getChildTag("InnerDetector",m_AtlasVersion,"ATLAS")
45 
47  ?m_rdbAccesSvc->getChildTag("Pixel",m_InDetVersion,"InnerDetector")
49 
51  ?m_rdbAccesSvc->getChildTag("SCT",m_InDetVersion,"InnerDetector")
53 
55  ?m_rdbAccesSvc->getChildTag("TRT",m_InDetVersion,"InnerDetector")
57 
59  ?m_rdbAccesSvc->getChildTag("LAr",m_AtlasVersion,"ATLAS")
61 
63  ?m_rdbAccesSvc->getChildTag("TileCal",m_AtlasVersion,"ATLAS")
65 
67  ?m_rdbAccesSvc->getChildTag("MuonSpectrometer",m_AtlasVersion,"ATLAS")
69 
71  ?m_rdbAccesSvc->getChildTag("Calorimeter",m_AtlasVersion,"ATLAS")
73 
75  ?m_rdbAccesSvc->getChildTag("MagneticField",m_AtlasVersion,"ATLAS")
77 
79  ?m_rdbAccesSvc->getChildTag("CavernInfra",m_AtlasVersion,"ATLAS")
81 
83  ?m_rdbAccesSvc->getChildTag("ForwardDetectors",m_AtlasVersion,"ATLAS")
85 
86  // Retrieve geometry config information (RUN1, RUN2, etc...)
87  IRDBRecordset_ptr atlasCommonRec =m_rdbAccesSvc->getRecordsetPtr("AtlasCommon",m_AtlasVersion,"ATLAS");
88  if(atlasCommonRec->size()==0) {
90  }
91  else {
92  std::string configVal = (*atlasCommonRec)[0]->getString("CONFIG");
93  if(configVal=="RUN1")
95  else if(configVal=="RUN2")
97  else if(configVal=="RUN3")
99  else if(configVal=="RUN4")
101  else if(configVal=="TESTBEAM")
103  else {
104  ATH_MSG_FATAL("Unexpected value for geometry config read from the database: " << configVal);
105  return StatusCode::FAILURE;
106  }
107  }
108 
109  return StatusCode::SUCCESS;
110 }
GeoDbTagSvc::m_InDetVersionOverride
std::string m_InDetVersionOverride
Definition: GeoDbTagSvc.h:92
RDBMaterialManager.h
GeoModel
Definition: IGeoDbTagSvc.h:16
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
GeoDbTagSvc::m_rdbAccesSvc
ServiceHandle< IRDBAccessSvc > m_rdbAccesSvc
Definition: GeoDbTagSvc.h:26
GeoDbTagSvc::m_PixelVersionOverride
std::string m_PixelVersionOverride
Definition: GeoDbTagSvc.h:93
GeoModel::GEO_TESTBEAM
@ GEO_TESTBEAM
Definition: IGeoDbTagSvc.h:22
GeoDbTagSvc::m_CaloVersion
std::string m_CaloVersion
Definition: GeoDbTagSvc.h:87
GeoDbTagSvc::initialize
virtual StatusCode initialize() override
Definition: GeoDbTagSvc.cxx:18
GeoDbTagSvc::m_ForwardDetectorsVersion
std::string m_ForwardDetectorsVersion
Definition: GeoDbTagSvc.h:90
GeoDbTagSvc::m_LAr_Version
std::string m_LAr_Version
Definition: GeoDbTagSvc.h:84
GeoDbTagSvc::m_TRT_Version
std::string m_TRT_Version
Definition: GeoDbTagSvc.h:83
GeoDbTagSvc::m_CaloVersionOverride
std::string m_CaloVersionOverride
Definition: GeoDbTagSvc.h:99
GeoDbTagSvc::m_SCT_VersionOverride
std::string m_SCT_VersionOverride
Definition: GeoDbTagSvc.h:94
GeoDbTagSvc::m_PixelVersion
std::string m_PixelVersion
Definition: GeoDbTagSvc.h:81
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
GeoDbTagSvc::m_TileVersionOverride
std::string m_TileVersionOverride
Definition: GeoDbTagSvc.h:97
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
GeoDbTagSvc.h
GeoDbTagSvc::m_TileVersion
std::string m_TileVersion
Definition: GeoDbTagSvc.h:85
GeoModel::GEO_RUN4
@ GEO_RUN4
Definition: IGeoDbTagSvc.h:21
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
GeoDbTagSvc::m_CavernInfraVersionOverride
std::string m_CavernInfraVersionOverride
Definition: GeoDbTagSvc.h:101
Handler::svc
AthROOTErrorHandlerSvc * svc
Definition: AthROOTErrorHandlerSvc.cxx:10
GeoModel::GEO_RUN3
@ GEO_RUN3
Definition: IGeoDbTagSvc.h:20
IRDBRecordset_ptr
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
Definition: IRDBAccessSvc.h:25
GeoDbTagSvc::m_AtlasVersion
std::string m_AtlasVersion
Definition: GeoDbTagSvc.h:78
GeoModel::GEO_RUN1
@ GEO_RUN1
Definition: IGeoDbTagSvc.h:18
GeoDbTagSvc::m_InDetVersion
std::string m_InDetVersion
Definition: GeoDbTagSvc.h:80
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
GeoDbTagSvc::m_CavernInfraVersion
std::string m_CavernInfraVersion
Definition: GeoDbTagSvc.h:89
GeoModel::GEO_RUN2
@ GEO_RUN2
Definition: IGeoDbTagSvc.h:19
GeoDbTagSvc::m_ForwardDetectorsVersionOverride
std::string m_ForwardDetectorsVersionOverride
Definition: GeoDbTagSvc.h:102
GeoDbTagSvc::m_MuonVersionOverride
std::string m_MuonVersionOverride
Definition: GeoDbTagSvc.h:98
IRDBRecord.h
Definition of the abstract IRDBRecord interface.
GeoDbTagSvc::m_MuonVersion
std::string m_MuonVersion
Definition: GeoDbTagSvc.h:86
GeoDbTagSvc::finalize
virtual StatusCode finalize() override
Definition: GeoDbTagSvc.cxx:24
GeoDbTagSvc::m_geoConfig
GeoModel::GeoConfig m_geoConfig
Definition: GeoDbTagSvc.h:104
GeoDbTagSvc::m_TRT_VersionOverride
std::string m_TRT_VersionOverride
Definition: GeoDbTagSvc.h:95
GeoDbTagSvc::m_SCT_Version
std::string m_SCT_Version
Definition: GeoDbTagSvc.h:82
GeoDbTagSvc::setupTags
StatusCode setupTags()
Definition: GeoDbTagSvc.cxx:30
IRDBRecordset.h
Definition of the abstract IRDBRecordset interface.
GeoDbTagSvc::GeoDbTagSvc
GeoDbTagSvc(const std::string &name, ISvcLocator *svc)
Definition: GeoDbTagSvc.cxx:12
GeoDbTagSvc::m_MagFieldVersionOverride
std::string m_MagFieldVersionOverride
Definition: GeoDbTagSvc.h:100
GeoDbTagSvc::m_LAr_VersionOverride
std::string m_LAr_VersionOverride
Definition: GeoDbTagSvc.h:96
GeoDbTagSvc::m_MagFieldVersion
std::string m_MagFieldVersion
Definition: GeoDbTagSvc.h:88