ATLAS Offline Software
DecodeVersionKey.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef GEOMODELSVC_DECODEVERSIONKEY_H
6 #define GEOMODELSVC_DECODEVERSIONKEY_H
7 
8 #include <string>
9 class IGeoModelSvc;
10 class IGeoDbTagSvc;
11 
16 
18 {
19 
20  public:
24  DecodeVersionKey(const IGeoModelSvc *, const std::string & node);
25  // Overloading the constructor to allow adiabatic migration of clients away from the IGeoModelSvc
26  DecodeVersionKey(const IGeoDbTagSvc *, const std::string & node);
27  DecodeVersionKey(const std::string & node);
28 
30  const std::string & tag() const;
31 
33  const std::string & node() const;
34 
36  bool custom() const;
37 
38  private:
39 
40  template <class T>
41  void defineTag(const T* svc, const std::string & node);
42 
43  // utilily for dealing with CUSTOM tags.
44  bool getCustomTag(const std::string & inputTag, std::string & outputTag);
45 
46  std::string m_tag;
47  std::string m_node;
48  bool m_custom;
49 
50 };
51 
52 #endif // GEOMODELSVC_DECODEVERSIONKEY_H
DecodeVersionKey::defineTag
void defineTag(const T *svc, const std::string &node)
Definition: DecodeVersionKey.cxx:33
IGeoModelSvc
Definition: IGeoModelSvc.h:17
DecodeVersionKey::custom
bool custom() const
Return true if CUSTOM is selected.
Definition: DecodeVersionKey.cxx:105
DecodeVersionKey::node
const std::string & node() const
Return the version node.
Definition: DecodeVersionKey.cxx:99
DecodeVersionKey::getCustomTag
bool getCustomTag(const std::string &inputTag, std::string &outputTag)
Definition: DecodeVersionKey.cxx:113
DecodeVersionKey
This is a helper class to query the version tags from GeoModelSvc and determine the appropriate tag a...
Definition: DecodeVersionKey.h:18
DecodeVersionKey::tag
const std::string & tag() const
Return version tag.
Definition: DecodeVersionKey.cxx:93
IGeoDbTagSvc
Definition: IGeoDbTagSvc.h:26
Handler::svc
AthROOTErrorHandlerSvc * svc
Definition: AthROOTErrorHandlerSvc.cxx:10
DecodeVersionKey::m_node
std::string m_node
Definition: DecodeVersionKey.h:47
DecodeVersionKey::m_tag
std::string m_tag
Definition: DecodeVersionKey.h:46
DecodeVersionKey::DecodeVersionKey
DecodeVersionKey(const IGeoModelSvc *, const std::string &node)
Constructor is passed a pointer to GeoModelSvc plus the node for which you want the tag.
Definition: DecodeVersionKey.cxx:13
DecodeVersionKey::m_custom
bool m_custom
Definition: DecodeVersionKey.h:48
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
node
Definition: memory_hooks-stdcmalloc.h:74