5 #ifndef WIRECELL_RAYSOLVING_H 6 #define WIRECELL_RAYSOLVING_H 8 #include <boost/graph/graph_traits.hpp> 9 #include <boost/graph/adjacency_list.hpp> 10 #include <boost/graph/connected_components.hpp> 12 #include <Eigen/Dense> 15 #include <unordered_map> 33 typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, node_t>
graph_t;
34 typedef boost::graph_traits<graph_t>::vertex_descriptor
vertex_t;
37 virtual void add(
char ntype, ident_t chid, std::vector<ident_t> wids,
71 typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, node_t>
graph_t;
72 typedef boost::graph_traits<graph_t>::vertex_descriptor
vertex_t;
88 vertex_t measurement_node(
float value,
float weight);
91 void solve_one(solution_t& answer,
92 const std::vector<vertex_t>& sources,
93 const std::vector<vertex_t>& measures);
std::unordered_map< ident_t, vertex_t > m_wid2vtx
vector_t solve(matrix_t response, vector_t measured, const Params ¶ms=Params(), vector_t source=Eigen::VectorXd(), vector_t weights=Eigen::VectorXd())
std::unordered_map< ident_t, vertex_t > m_sid2vtx
std::unordered_map< int, cluster_t > clusterset_t
boost::graph_traits< graph_t >::vertex_descriptor vertex_t
boost::adjacency_list< boost::vecS, boost::vecS, boost::undirectedS, node_t > graph_t
vertex_t wire_node(ident_t wid)
boost::graph_traits< graph_t >::vertex_descriptor vertex_t
virtual void add(char ntype, ident_t chid, std::vector< ident_t > wids, float value, float weight=1.0)
std::unordered_map< ident_t, float > solution_t
boost::adjacency_list< boost::vecS, boost::vecS, boost::undirectedS, node_t > graph_t
std::vector< node_t > cluster_t
tbb::flow::source_node< boost::any > source_node
virtual ~Grouping()=default