![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
11 #include "GaudiKernel/StatusCode.h"
12 #include "GaudiKernel/ISvcLocator.h"
23 enum ResultIndices{WHOLETAG, MAJMIN, PATH1, PATH2, SIZEWITHPREFIX};
36 ISvcLocator* svcLocator=Gaudi::svcLocator();
37 if (not svcLocator or StatusCode::SUCCESS!=svcLocator->service(
"GeoModelSvc",geomodel)) {
38 throw std::runtime_error(
"The GeoModelSvc could not be retrieved in TagFunctions.cxx getGeoAtlasVersion()");
48 return (
fptr->tagLockStatus(
tag)==cool::HvsTagLock::LOCKED);
49 }
catch (cool::Exception&
e) {
65 enum ResultIndices{WHOLETAG, MAJMIN, PATH1, PATH2, SIZEWITHPREFIX};
80 std::string::size_type rstrip{};
82 if (
results[MAJMIN] ==
"Major") rstrip=6;
83 if (
results[MAJMIN] ==
"Minor") rstrip=3;
87 throw std::runtime_error(
"Could not resolve TagInfo tag " +
target );
std::vector< std::string > parseMagicTag(const std::string &v)
Takes a tag of form TagInfo{Major|Minor}/<tag> or TagInfo{Major|Minor}/<prefix>/<tag> and resolve it ...
std::pair< std::string, std::string > tag2PrefixTarget(const std::vector< std::string > &tagParseResults)
Takes a vector<string> containing {"<fulltag>", "Major|Minor", "<prefix>", "<tag>"} and returns a pai...
virtual std::string findTag(const std::string &name) const =0
Find tag by its name, return by value - empty string if not found.
std::string getGeoAtlasVersion()
Get the GeoAtlas version directly from GeoModelSvc.
std::string getTagInfo(const std::string &tag, const ITagInfoMgr *tagInfoMgr)
Retrieve the TagInfo.
std::optional< bool > checkTagLock(const cool::IFolderPtr &fptr, const std::string &tag)
Check whether a tag is locked on a folder, if possible.
std::vector< TFile * > fptr
std::string resolveUsingTagInfo(const std::string &tag, const ITagInfoMgr *tagInfoMgr)
This is a Athena service which manages detector description tag information. It maintains a TagInfo o...
virtual const std::string & atlasVersion() const =0