diff --git a/DDCore/include/Parsers/detail/Dimension.h b/DDCore/include/Parsers/detail/Dimension.h index 4bed941144698979e956a44ff12f73b3e0b94756..cdae00f1b06ee15d5df1cab73608441798c613b9 100644 --- a/DDCore/include/Parsers/detail/Dimension.h +++ b/DDCore/include/Parsers/detail/Dimension.h @@ -746,14 +746,24 @@ namespace dd4hep { std::string refStr() const; /// Access "module" attribute as STL string std::string moduleStr() const; + /// Access "module" attribute as STL string + std::string moduleStr(const std::string& default_value) const; /// Access "readout" attribute as STL string std::string readoutStr() const; + /// Access "readout" attribute as STL string + std::string readoutStr(const std::string& default_value) const; /// Access vis attribute as STL string. If not present empty return empty string std::string visStr() const; + /// Access vis attribute as STL string. If not present empty return empty string + std::string visStr(const std::string& default_value) const; /// Access region attribute as STL string. If not present empty return empty string std::string regionStr() const; + /// Access region attribute as STL string. If not present empty return empty string + std::string regionStr(const std::string& default_value) const; /// Access limits attribute as STL string. If not present empty return empty string std::string limitsStr() const; + /// Access limits attribute as STL string. If not present empty return empty string + std::string limitsStr(const std::string& default_value) const; }; } /* End namespace DD4HEP_DIMENSION_NS */ diff --git a/DDCore/include/Parsers/detail/Dimension.imp b/DDCore/include/Parsers/detail/Dimension.imp index baffc9042fddf59e2e00d0268f2e602e9444e2ea..48f6aea42d884c0bdaa55899d8f9f30cee30b519 100644 --- a/DDCore/include/Parsers/detail/Dimension.imp +++ b/DDCore/include/Parsers/detail/Dimension.imp @@ -310,22 +310,47 @@ std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::regionStr() const { return m_element.hasAttr(_U(region)) ? m_element.attr < std::string > (_U(region)) : std::string(); } +/// Access "region" attribute as STL std::string. If not present returns empty string. +std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::regionStr(const std::string& default_value) const { + return m_element.hasAttr(_U(region)) ? m_element.attr < std::string > (_U(region)) : default_value; +} + /// Access "limits" attribute as STL std::string. If not present returns empty string. std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::limitsStr() const { return m_element.hasAttr(_U(limits)) ? m_element.attr < std::string > (_U(limits)) : std::string(); } +/// Access "limits" attribute as STL std::string. If not present returns empty string. +std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::limitsStr(const std::string& default_value) const { + return m_element.hasAttr(_U(limits)) ? m_element.attr < std::string > (_U(limits)) : default_value; +} + /// Access "vis" attribute as STL std::string. If not present returns empty string. std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::visStr() const { return m_element.hasAttr(_U(vis)) ? m_element.attr < std::string > (_U(vis)) : std::string(); } +/// Access "vis" attribute as STL std::string. If not present returns empty string. +std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::visStr(const std::string& default_value) const { + return m_element.hasAttr(_U(vis)) ? m_element.attr < std::string > (_U(vis)) : default_value; +} + /// Access "readout" attribute as STL std::string. If not present returns empty string. std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::readoutStr() const { return m_element.hasAttr(_U(readout)) ? m_element.attr < std::string > (_U(readout)) : std::string(); } +/// Access "readout" attribute as STL std::string. If not present returns empty string. +std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::readoutStr(const std::string& default_value) const { + return m_element.hasAttr(_U(readout)) ? m_element.attr < std::string > (_U(readout)) : default_value; +} + /// Access "module" attribute as STL std::string. If not present returns empty string. std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::moduleStr() const { return m_element.hasAttr(_U(module)) ? m_element.attr < std::string > (_U(module)) : std::string(); } + +/// Access "module" attribute as STL std::string. If not present returns empty string. +std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::moduleStr(const std::string& default_value) const { + return m_element.hasAttr(_U(module)) ? m_element.attr < std::string > (_U(module)) : default_value; +}