8 #include "GaudiKernel/ISvcLocator.h"
9 #include "GaudiKernel/Bootstrap.h"
15 defineTag<IGeoModelSvc>(geoModel,
node);
20 defineTag<IGeoDbTagSvc>(geoDbTag,
node);
25 SmartIF<IGeoDbTagSvc> geoDbTag{Gaudi::svcLocator()->service(
"GeoDbTagSvc")};
26 if(!geoDbTag.isValid())
throw std::runtime_error(
"DecodeVersionKey constructor: cannot access GeoDbTagSvc");
27 defineTag<IGeoDbTagSvc>(geoDbTag,
node);
33 std::string nodeOverrideTag;
34 std::string indetOverrideTag;
35 if (
node ==
"ATLAS") {
37 }
else if (
node ==
"InnerDetector") {
38 nodeOverrideTag =
svc->inDetVersionOverride();
39 }
else if (
node ==
"Pixel") {
40 indetOverrideTag =
svc->inDetVersionOverride();
41 nodeOverrideTag =
svc->pixelVersionOverride();
42 }
else if (
node ==
"SCT") {
43 indetOverrideTag =
svc->inDetVersionOverride();
44 nodeOverrideTag =
svc->SCT_VersionOverride();
45 }
else if (
node ==
"TRT") {
46 indetOverrideTag =
svc->inDetVersionOverride();
47 nodeOverrideTag =
svc->TRT_VersionOverride();
48 }
else if (
node ==
"LAr") {
49 nodeOverrideTag =
svc->LAr_VersionOverride();
50 }
else if (
node ==
"TileCal") {
51 nodeOverrideTag =
svc->tileVersionOverride();
52 }
else if (
node ==
"MuonSpectrometer") {
53 nodeOverrideTag =
svc->muonVersionOverride();
54 }
else if (
node ==
"Calorimeter") {
55 nodeOverrideTag =
svc->caloVersionOverride();
56 }
else if (
node ==
"ForwardDetectors") {
57 nodeOverrideTag =
svc->forwardDetectorsVersionOverride();
59 std::cout <<
"DecodeVersionKey passed an unknown node:" <<
node << std::endl;
69 if (!indetOverrideTag.empty()) {
75 if (!indetTag.empty()) {
81 std::string outputTag;
84 if (!outputTag.empty()) {
120 outputTag = inputTag;
121 if (!inputTag.empty()) {
122 if (inputTag.compare(0,6,
"CUSTOM") == 0) {
125 outputTag = inputTag.substr(6);
126 if (!outputTag.empty()) outputTag = outputTag.substr(1);