template <class T> \
inline \
const geo_basic<T,M>& \
geo_basic<T,M>::get_background_geo() const \
{ \
if (variant() == geo_abstract_base_rep<T>::geo_domain) { \
const geo_domain_rep<T,M>& dom \
= dynamic_cast<const geo_domain_rep<T,M>&>(base::data()); \
return dom.get_background_geo(); \
} \
if (variant() == geo_abstract_base_rep<T>::geo_domain_indirect) { \
const geo_domain_indirect_rep<T,M>& dom \
= dynamic_cast<const geo_domain_indirect_rep<T,M>&>(base::data()); \
return dom.get_background_geo(); \
} \
\
return *this; \
}