WireCellToolkit
Wire Cell Simulation, Signal Process and Reconstruction Toolki for Liquid Argon Detectors
WireCell::IndexedGraph< VertexType > Class Template Reference

#include <IndexedGraph.h>

Public Types

typedef VertexType vertex_t
 
typedef boost::adjacency_list< boost::setS, boost::vecS, boost::undirectedS, vertex_tgraph_t
 
typedef boost::graph_traits< graph_t >::vertex_descriptor vdesc_t
 
typedef boost::graph_traits< graph_t >::edge_descriptor edesc_t
 
typedef std::unordered_map< int, std::vector< vertex_t > > vertex_grouping_t
 Return connected component subgraphs. More...
 
typedef std::unordered_map< vertex_t, vdesc_tindex_t
 

Public Member Functions

 IndexedGraph ()
 
 IndexedGraph (const graph_t &g)
 
std::vector< vertex_tneighbors (vertex_t obj) const
 
bool has (vertex_t vobj) const
 
edesc_t edge (vertex_t vobj1, vertex_t vobj2)
 
vdesc_t vertex (vertex_t vobj)
 
vdesc_t replace (vertex_t vold, vertex_t vnew)
 
void clear ()
 
vertex_grouping_t groups ()
 
const graph_tgraph () const
 
graph_tgraph ()
 
index_tindex ()
 
const index_tindex () const
 

Detailed Description

template<typename VertexType>
class WireCell::IndexedGraph< VertexType >

Definition at line 31 of file IndexedGraph.h.

Member Typedef Documentation

◆ edesc_t

template<typename VertexType >
typedef boost::graph_traits<graph_t>::edge_descriptor WireCell::IndexedGraph< VertexType >::edesc_t

Definition at line 46 of file IndexedGraph.h.

◆ graph_t

template<typename VertexType >
typedef boost::adjacency_list<boost::setS, boost::vecS, boost::undirectedS, vertex_t> WireCell::IndexedGraph< VertexType >::graph_t

Definition at line 44 of file IndexedGraph.h.

◆ index_t

template<typename VertexType >
typedef std::unordered_map<vertex_t, vdesc_t> WireCell::IndexedGraph< VertexType >::index_t

Definition at line 149 of file IndexedGraph.h.

◆ vdesc_t

template<typename VertexType >
typedef boost::graph_traits<graph_t>::vertex_descriptor WireCell::IndexedGraph< VertexType >::vdesc_t

Definition at line 45 of file IndexedGraph.h.

◆ vertex_grouping_t

template<typename VertexType >
typedef std::unordered_map<int, std::vector<vertex_t> > WireCell::IndexedGraph< VertexType >::vertex_grouping_t

Return connected component subgraphs.

Definition at line 128 of file IndexedGraph.h.

◆ vertex_t

template<typename VertexType >
typedef VertexType WireCell::IndexedGraph< VertexType >::vertex_t

Definition at line 33 of file IndexedGraph.h.

Constructor & Destructor Documentation

◆ IndexedGraph() [1/2]

template<typename VertexType >
WireCell::IndexedGraph< VertexType >::IndexedGraph ( )
inline

Definition at line 48 of file IndexedGraph.h.

◆ IndexedGraph() [2/2]

template<typename VertexType >
WireCell::IndexedGraph< VertexType >::IndexedGraph ( const graph_t g)
inline

Definition at line 50 of file IndexedGraph.h.

Member Function Documentation

◆ clear()

template<typename VertexType >
void WireCell::IndexedGraph< VertexType >::clear ( )
inline

Definition at line 121 of file IndexedGraph.h.

◆ edge()

template<typename VertexType >
edesc_t WireCell::IndexedGraph< VertexType >::edge ( vertex_t  vobj1,
vertex_t  vobj2 
)
inline

Definition at line 93 of file IndexedGraph.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ graph() [1/2]

template<typename VertexType >
const graph_t& WireCell::IndexedGraph< VertexType >::graph ( ) const
inline

Definition at line 141 of file IndexedGraph.h.

◆ graph() [2/2]

template<typename VertexType >
graph_t& WireCell::IndexedGraph< VertexType >::graph ( )
inline

Definition at line 145 of file IndexedGraph.h.

◆ groups()

template<typename VertexType >
vertex_grouping_t WireCell::IndexedGraph< VertexType >::groups ( )
inline

Definition at line 129 of file IndexedGraph.h.

◆ has()

template<typename VertexType >
bool WireCell::IndexedGraph< VertexType >::has ( vertex_t  vobj) const
inline

Definition at line 84 of file IndexedGraph.h.

◆ index() [1/2]

template<typename VertexType >
index_t& WireCell::IndexedGraph< VertexType >::index ( )
inline

Definition at line 150 of file IndexedGraph.h.

◆ index() [2/2]

template<typename VertexType >
const index_t& WireCell::IndexedGraph< VertexType >::index ( ) const
inline

Definition at line 151 of file IndexedGraph.h.

◆ neighbors()

template<typename VertexType >
std::vector<vertex_t> WireCell::IndexedGraph< VertexType >::neighbors ( vertex_t  obj) const
inline

Definition at line 69 of file IndexedGraph.h.

Here is the call graph for this function:

◆ replace()

template<typename VertexType >
vdesc_t WireCell::IndexedGraph< VertexType >::replace ( vertex_t  vold,
vertex_t  vnew 
)
inline

Definition at line 113 of file IndexedGraph.h.

Here is the call graph for this function:

◆ vertex()

template<typename VertexType >
vdesc_t WireCell::IndexedGraph< VertexType >::vertex ( vertex_t  vobj)
inline

Definition at line 101 of file IndexedGraph.h.

Here is the caller graph for this function:

The documentation for this class was generated from the following file: