68 <<
"Failed to create output file: " << cfg().dotfile();
90 os <<
"\"b" << pid <<
'\"';
102 std::string
const& pin,
105 os <<
" [label = \"" << fcn;
108 os <<
"\" shape = box];\n";
117 os <<
"# write_product_node for provenance: " << &p <<
'\n';
127 os <<
"# write_product_node for pid: " << pid <<
'\n';
131 auto const& plist = pmd.productList();
135 auto it = std::find_if(
begin(plist),
end(plist), [&pid](
auto const& keyval) {
136 return keyval.second.productID() == pid;
138 if (it == plist.end()) {
139 os <<
"#Missing information for product with id " << pid <<
'\n';
144 it->second.friendlyClassName(), it->second.productInstanceName(), os);
156 static std::vector<std::string> names_seen;
157 auto it = std::find(
begin(names_seen),
end(names_seen), procname);
158 if (it ==
end(names_seen)) {
159 names_seen.push_back(procname);
160 return names_seen.size();
162 return std::distance(
begin(names_seen), it) + 1;
167 std::string
const& colorscheme,
170 os <<
" [ colorscheme=" << colorscheme <<
" color=" <<
color(p.
processName())
171 <<
" style=filled ];\n";
176 std::string
const& colorscheme,
181 os <<
"# write_creator_line for provenance: " << &p <<
'\n';
204 os <<
"# write_parentage_line for provenance: " << &p <<
" parent " std::vector< ProductID > const & parents() const
fhicl::Atom< std::string > dotfile
void write_module_node(art::Provenance const &p, std::string const &colorscheme, std::ostream &os)
std::string const & productInstanceName() const
std::string const & friendlyClassName() const
fhicl::Atom< std::string > colorscheme
std::string const & processName() const
void write_module_id(art::Provenance const &p, std::ostream &os)
void processEventProvenance(art::Provenance const &prov)
ProductID const & productID() const
void write_product_node(art::Provenance const &p, std::ostream &os, int debug)
void write_creator_line(art::Provenance const &p, std::string const &colorscheme, std::ostream &os, int debug)
#define DEFINE_ART_MODULE(klass)
void write_parentage_line(art::Provenance const &p, art::ProductID const parent, std::ostream &os, int debug)
std::vector< evd::details::RawDigitInfo_t >::const_iterator begin(RawDigitCacheDataClass const &cache)
DataFlow(fhicl::TableFragment< Config > const &cfg)
fhicl::Atom< int > debuglevel
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
std::size_t color(std::string const &procname)
void write_id(art::ProductID const pid, std::ostream &os)
std::string const & moduleLabel() const
std::vector< evd::details::RawDigitInfo_t >::const_iterator end(RawDigitCacheDataClass const &cache)
void write_parent_id(art::ProductID const parent, std::ostream &os)
void format_product_node(std::string const &fcn, std::string const &pin, std::ostream &os)