31 namespace dd4hep {
namespace {
37 class calodata_configs;
42 class collection_configs;
49 template <>
void Converter<ddeve>::operator()(
xml_h seq)
const;
50 template <>
void Converter<display>::operator()(
xml_h seq)
const;
51 template <>
void Converter<view>::operator()(
xml_h seq)
const;
52 template <>
void Converter<panel>::operator()(
xml_h seq)
const;
53 template <>
void Converter<include>::operator()(
xml_h seq)
const;
54 template <>
void Converter<calodata>::operator()(
xml_h e)
const;
55 template <>
void Converter<calodata_configs>::operator()(
xml_h e)
const;
56 template <>
void Converter<collection>::operator()(
xml_h e)
const;
57 template <>
void Converter<collection_configs>::operator()(
xml_h e)
const;
58 template <>
void Converter<detelement>::operator()(
xml_h seq)
const;
61 #define DECL_TAG(x) xml::Strng_t u_##x(#x)
105 template <>
void Converter<detelement>::operator()(
xml_h e)
const {
109 configs->push_back(c);
111 template <>
void Converter<panel>::operator()(
xml_h e)
const {
115 configs->push_back(c);
117 template <>
void Converter<calodata_configs>::operator()(
xml_h e)
const {
121 configs->push_back(c);
124 template <>
void Converter<collection_configs>::operator()(
xml_h e)
const {
136 configs->push_back(c);
150 template <>
void Converter<view>::operator()(
xml_h e)
const {
158 printout(INFO,
"DisplayConfiguration",
"+++ View: %s sensitive:%d structure:%d.",
164 configs->push_back(c);
178 template <>
void Converter<calodata>::operator()(
xml_h e)
const {
184 c.
use = e.
attr<std::string>(u_use);
185 c.
hits = e.
attr<std::string>(u_hits);
188 c.
hits = e.
attr<std::string>(u_hits);
203 configs->push_back(c);
217 template <>
void Converter<collection>::operator()(
xml_h e)
const {
221 c.
hits = e.
attr<std::string>(u_hits);
223 c.
use = e.
hasAttr(u_use) ? e.
attr<std::string>(u_use) : std::string();
232 configs->push_back(c);
246 template <>
void Converter<include>::operator()(
xml_h e)
const {
253 except(
"DisplayConfiguration",
"++ Invalid DetectorLoad instance in XML converter <include>");
255 except(
"DisplayConfiguration",
"++ Attempt to parse invalid include statement [Invalid XML element]");
269 template <>
void Converter<display>::operator()(
xml_h e)
const {
287 template <>
void Converter<ddeve>::operator()(
xml_h e)
const {
299 #include <TEveProjections.h>
306 static long setup_DDEve(
Detector& description,
const xml_h& e) {
308 static bool first =
true;
311 #define add_root_enum(x) xml::_toDictionary(xml::Strng_t(#x),int(x))
359 (dd4hep::Converter<dd4hep::ddeve>(description,display))(e);