All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
DODBasicMapper.cpp
Go to the documentation of this file.
1 // Include files
2 
3 #include "GaudiKernel/HashMap.h"
4 #include "GaudiKernel/Parsers.h"
5 // Local implementation of parsers from HashMap
6 namespace Gaudi {
7  namespace Parsers {
10  template <typename K, typename V>
11  StatusCode parse(GaudiUtils::HashMap<K, V> &result, const std::string &input) {
12  std::map<std::string, std::string> tmp;
13  StatusCode sc = parse(tmp, input);
14  if (sc.isSuccess()) {
15  result.clear();
16  result.insert(tmp.begin(), tmp.end());
17  }
18  return sc;
19  }
20  }
21 }
22 
23 // local
24 #include "DODBasicMapper.h"
25 
26 // ----------------------------------------------------------------------------
27 // Implementation file for class: DODBasicMapper
28 //
29 // 16/01/2012: Marco Clemencic
30 // ----------------------------------------------------------------------------
32 
33 // ============================================================================
34 // Standard constructor, initializes variables
35 // ============================================================================
36 DODBasicMapper::DODBasicMapper(const std::string& type, const std::string& name, const IInterface* parent)
37  : base_class(type, name, parent)
38 {
39  declareProperty("Nodes", m_nodeMap,
40  "Map of the type of nodes to be associated to paths (path -> data_type).");
41  declareProperty("Algorithms", m_algMap,
42  "Map of algorithms to be used to produce entries (path -> alg_name).");
43 }
44 
45 
47 {
48  auto alg = m_algMap.find(path);
49  return (alg != m_algMap.end()) ? alg->second : "";
50 }
51 
52 
53 std::string DODBasicMapper::nodeTypeForPath(const std::string & path)
54 {
55  auto node = m_nodeMap.find(path);
56  return (node != m_nodeMap.end()) ? node->second : "";
57 }
58 
59 // ============================================================================
Default implementation of a DataOnDemand mapper.
GaudiUtils::HashMap< std::string, std::string > m_nodeMap
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
list path
Definition: __init__.py:15
STL namespace.
StatusCode parse(GaudiUtils::HashMap< K, V > &result, const std::string &input)
Basic parser for the types of HashMap used in DODBasicMapper.
std::string nodeTypeForPath(const std::string &path) override
iterator end()
Definition: Map.h:132
Helper class to parse a string of format "type/name".
Definition: TypeNameString.h:9
GaudiUtils::HashMap< std::string, Gaudi::Utils::TypeNameString > m_algMap
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
#define DECLARE_COMPONENT(type)
Definition: PluginService.h:36
Definition of the basic interface.
Definition: IInterface.h:234
iterator find(const key_type &key)
Definition: Map.h:149
Base class used to extend a class implementing other interfaces.
Definition: extends.h:10
Common class providing an architecture-independent hash map.
Definition: HashMap.h:77
std::pair< iterator, bool > insert(ValueType &&val)
Definition: Map.h:168
Gaudi::Utils::TypeNameString algorithmForPath(const std::string &path) override
void clear()
Definition: Map.h:178
Helper functions to set/get the application return code.
Definition: __init__.py:1
string type
Definition: gaudirun.py:151