1 #ifndef WIRECELLUTIL_DFPGRAPH 2 #define WIRECELLUTIL_DFPGRAPH 6 #include <boost/graph/adjacency_list.hpp> 26 return type == rhs.
type && name == rhs.
name;
29 if (type == rhs.
type) {
30 return name < rhs.
name;
32 return type < rhs.
type;
42 typedef boost::adjacency_list<boost::vecS, boost::setS, boost::directedS,
45 typedef boost::graph_traits<Graph>::vertex_descriptor
Vertex;
46 typedef boost::graph_traits<Graph>::edge_descriptor
Edge;
50 typedef std::tuple<VertexProperty, VertexProperty, EdgeProperty>
Connection;
88 os <<
"( " << ep.
tail <<
" --> " << ep.
head <<
" )";
std::vector< Connection > connections()
VertexProperty(const std::string &t, const std::string &n)
boost::adjacency_list< boost::vecS, boost::setS, boost::directedS, VertexProperty, EdgeProperty > Graph
void configure(const Configuration &cfg)
VertexPropertyMap vertex_property_map
EdgeProperty(int t, int h)
std::pair< std::string, std::string > parse_pair(const std::string &in, const std::string &delim=":")
bool operator==(const VertexProperty &rhs) const
std::map< VertexProperty, Vertex > VertexPropertyMap
boost::graph_traits< Graph >::edge_descriptor Edge
boost::graph_traits< Graph >::vertex_descriptor Vertex
Vertex get_add_vertex(const VertexProperty &tn)
std::tuple< VertexProperty, VertexProperty, EdgeProperty > Connection
Edge connect(const std::string &tail_type, const std::string &tail_name, int tail_port, const std::string &head_type, const std::string &head_name, int head_port)
Explicitly connect one edge.
std::ostream & operator<<(std::ostream &os, const WireCell::WirePlaneId &wpid)
Json::Value Configuration
VertexProperty(const std::string &tn)
bool operator<(const VertexProperty &rhs) const
h
training ###############################