diff --git a/DDCore/include/DD4hep/Handle.h b/DDCore/include/DD4hep/Handle.h index 954ed8901a499b35a491227a7aa420b1a293881a..4359b839e339112678551d991847f009ad1b9943 100644 --- a/DDCore/include/DD4hep/Handle.h +++ b/DDCore/include/DD4hep/Handle.h @@ -149,7 +149,7 @@ namespace DD4hep { InstanceCount::decrement(this); #endif } - + /** @class Handle Handle.h * * @author M.Frank @@ -173,9 +173,10 @@ namespace DD4hep { T* operator->() const { return m_element; } operator T& () const { return *m_element; } T& operator*() const { return *m_element; } - T* ptr() const { return m_element; } - template <typename Q> Q* _ptr() const { return (Q*)m_element; } - template <typename Q> Q* data() const { return (Value<T,Q>*)m_element; } + T* ptr() const { return m_element; } + template <typename Q> Q* _ptr() const { return (Q*)m_element; } + template <typename Q> Q* data() const { return (Q*)m_element; } + template <typename Q> Q& object() const{ return *(Q*)m_element; } void verifyObject() const { increment_object_validations(); if ( m_element && dynamic_cast<T*>(m_element) == 0 ) {