12 #include <tracking/trackFindingVXD/segmentNetwork/CACell.h>
13 #include <tracking/trackFindingVXD/segmentNetwork/DirectedNodeNetwork.h>
38 template<
class NodeEntryType>
39 void printCANetwork(DirectedNodeNetwork<NodeEntryType, CACell>& network,
const std::string& fName)
41 std::string fullOut =
"digraph G {\n";
43 "ranksep=\"0.2\" edge[labelfontsize=\"8\" fontsize=\"8\" arrowsize=\"0.9\"] nodesep=\"0.2\" node[shape=\"box\" width=\"0\" height=\"0\" fontsize=\"10\"]\n";
45 for (
auto* node : network) {
46 fullOut +=
"\"" + node->getEntry().getName() +
"\"" +
48 node->getEntry().getName() +
50 std::to_string(node->getMetaInfo().getState()) +
52 std::to_string(node->getMetaInfo().isSeed()) +
56 for (
auto* node : network) {
57 for (
auto* innerNode : node->getInnerNodes()) {
58 auto innerEntry = innerNode->getEntry();
59 std::string arrowStyle = (node->getMetaInfo().getState() == (innerNode->getMetaInfo().getState() + 1)) ?
"" :
" [style=dotted]";
60 fullOut +=
"\"" + node->getEntry().getName() +
"\" -> \"" + innerEntry.getName() +
"\"" + arrowStyle +
";\n";
63 fullOut +=
"labelloc=\"t\";\nlabel=\"" + fName +
"\";\n";
67 ofs.open(fName +
".gv", std::ofstream::out | std::ofstream::trunc);
74 template<
class NodeEntryType,
class AnyMetaInfo>
75 void printNetwork(DirectedNodeNetwork<NodeEntryType, AnyMetaInfo>& network,
const std::string& fName)
77 std::string fullOut =
"digraph G {\n";
79 "ranksep=\"0.2\" edge[labelfontsize=\"8\" fontsize=\"8\" arrowsize=\"0.9\"] nodesep=\"0.2\" node[shape=\"box\" width=\"0\" height=\"0\" fontsize=\"10\"]\n";
82 for (
auto* node : network) {
83 fullOut +=
"\"" + node->getEntry().getName() +
"\"" +
85 node->getEntry().getName() +
89 for (
auto* node : network) {
90 for (
auto* innerNode : node->getInnerNodes()) {
91 auto innerEntry = innerNode->getEntry();
92 std::string arrowStyle =
"";
93 fullOut +=
"\"" + node->getEntry().getName() +
"\" -> \"" + innerEntry.getName() +
"\"" + arrowStyle +
";\n";
96 fullOut +=
"labelloc=\"t\";\nlabel=\"" + fName +
"\";\n";
100 ofs.open(fName +
".gv", std::ofstream::out | std::ofstream::trunc);