21 namespace Experimental {
50 const std::vector<ActsScalar>& bv,
const std::vector<BinningValue>& bss,
51 std::vector<std::unique_ptr<Node>> cs = {})
59 [
this](std::unique_ptr<Node>&
c) {
c->parent =
this; });
70 const std::vector<ActsScalar>& bv,
71 std::shared_ptr<const IInternalStructureBuilder> isb =
nullptr)
89 std::vector<std::unique_ptr<Node>>
children = {};
109 void add(std::unique_ptr<Node>
c) {
115 template <
typename stream_type>
117 const std::string& graphName =
"blueprint")
const {
119 ss <<
"digraph " << graphName <<
" {" <<
'\n';
121 <<
" [shape=\"circle\";style=\"filled\";fillcolor=\"darkorange\"];"
128 ss <<
name <<
" [shape=\"box\";style=\"filled\";fillcolor=\"";
129 ss << color <<
"\"];" <<
'\n';
131 ss <<
name <<
" [shape=\"diamond\"];" <<
'\n';
134 ss <<
name <<
" [label=\"" <<
name <<
"\"];" <<
'\n';
136 ss << name <<
" -> " <<
c->name <<
";" <<
'\n';
139 if (children.empty()) {
140 ss << name +
"_shape"
141 <<
" [shape=\"cylinder\";style=\"filled\";fillcolor=\"lightgrey\"];"
143 ss << name <<
" -> " << name +
"_shape"
149 <<
" [shape=\"doubleoctagon\";style=\"filled\";fillcolor="
152 ss << name <<
" -> " << name +
"_int"
157 ss << name +
"_geoID"
158 <<
" [shape=\"note\";style=\"filled\";fillcolor=\"azure\"];" <<
'\n';
159 ss << name <<
" -> " << name +
"_geoID"
164 ss << name +
"_roots"
165 <<
" [shape=\"Msquare\";style=\"filled\";fillcolor=\"darkkhaki\"];"
167 ss << name <<
" -> " << name +
"_roots"