Public Member Functions | List of all members
WireCell::Img::BlobSolving Class Reference

#include <BlobSolving.h>

Inheritance diagram for WireCell::Img::BlobSolving:
WireCell::IClusterFilter WireCell::IConfigurable WireCell::IFunctionNode< ICluster, ICluster > WireCell::IComponent< IConfigurable > WireCell::IFunctionNodeBase WireCell::Interface WireCell::INode WireCell::IComponent< INode > WireCell::Interface

Public Member Functions

 BlobSolving ()
 
virtual ~BlobSolving ()
 
virtual void configure (const WireCell::Configuration &cfg)
 Accept a configuration. More...
 
virtual WireCell::Configuration default_configuration () const
 Optional, override to return a hard-coded default configuration. More...
 
virtual bool operator() (const input_pointer &in, output_pointer &out)
 The calling signature: More...
 
- Public Member Functions inherited from WireCell::IClusterFilter
virtual ~IClusterFilter ()
 
virtual std::string signature ()
 Set the signature for all subclasses. More...
 
- Public Member Functions inherited from WireCell::IFunctionNode< ICluster, ICluster >
virtual ~IFunctionNode ()
 
virtual bool operator() (const boost::any &anyin, boost::any &anyout)
 The calling signature: More...
 
virtual std::vector< std::stringinput_types ()
 
virtual std::vector< std::stringoutput_types ()
 
- Public Member Functions inherited from WireCell::IFunctionNodeBase
virtual ~IFunctionNodeBase ()
 
virtual NodeCategory category ()
 Return the behavior category type. More...
 
virtual int concurrency ()
 By default assume all subclasses are stateless. More...
 
- Public Member Functions inherited from WireCell::INode
virtual ~INode ()
 
virtual void reset ()
 
- Public Member Functions inherited from WireCell::IComponent< INode >
virtual ~IComponent ()
 
- Public Member Functions inherited from WireCell::Interface
virtual ~Interface ()
 
- Public Member Functions inherited from WireCell::IConfigurable
virtual ~IConfigurable ()
 
- Public Member Functions inherited from WireCell::IComponent< IConfigurable >
virtual ~IComponent ()
 

Additional Inherited Members

- Public Types inherited from WireCell::IClusterFilter
typedef std::shared_ptr< IClusterFilterpointer
 
- Public Types inherited from WireCell::IFunctionNode< ICluster, ICluster >
typedef ICluster input_type
 
typedef ICluster output_type
 
typedef std::shared_ptr< const IClusterinput_pointer
 
typedef std::shared_ptr< const IClusteroutput_pointer
 
typedef IFunctionNode< ICluster, IClustersignature_type
 
- Public Types inherited from WireCell::IFunctionNodeBase
typedef std::shared_ptr< IFunctionNodeBasepointer
 
- Public Types inherited from WireCell::INode
enum  NodeCategory {
  unknown, sourceNode, sinkNode, functionNode,
  queuedoutNode, joinNode, splitNode, faninNode,
  fanoutNode, multioutNode, hydraNode
}
 
- Public Types inherited from WireCell::IComponent< INode >
typedef std::shared_ptr< INodepointer
 Access subclass facet by pointer. More...
 
typedef std::vector< pointervector
 Vector of shared pointers. More...
 
- Public Types inherited from WireCell::Interface
typedef std::shared_ptr< Interfacepointer
 
- Public Types inherited from WireCell::IComponent< IConfigurable >
typedef std::shared_ptr< IConfigurablepointer
 Access subclass facet by pointer. More...
 
typedef std::vector< pointervector
 Vector of shared pointers. More...
 

Detailed Description

Definition at line 19 of file BlobSolving.h.

Constructor & Destructor Documentation

Img::BlobSolving::BlobSolving ( )

Definition at line 16 of file BlobSolving.cxx.

17 {
18 }
Img::BlobSolving::~BlobSolving ( )
virtual

Definition at line 20 of file BlobSolving.cxx.

21 {
22 }

Member Function Documentation

void Img::BlobSolving::configure ( const WireCell::Configuration config)
virtual

Accept a configuration.

Implements WireCell::IConfigurable.

Definition at line 24 of file BlobSolving.cxx.

25 {
26 }
WireCell::Configuration Img::BlobSolving::default_configuration ( ) const
virtual

Optional, override to return a hard-coded default configuration.

Reimplemented from WireCell::IConfigurable.

Definition at line 28 of file BlobSolving.cxx.

29 {
31  return cfg;
32 }
cfg
Definition: dbjson.py:29
Json::Value Configuration
Definition: Configuration.h:50
bool Img::BlobSolving::operator() ( const input_pointer in,
output_pointer out 
)
virtual

The calling signature:

Implements WireCell::IFunctionNode< ICluster, ICluster >.

Definition at line 139 of file BlobSolving.cxx.

140 {
141  if (!in) {
142  out = nullptr;
143  return true;
144  }
145 
146  // start with a writable copy.
147  cluster_indexed_graph_t grind(in->graph());
148  for (auto islice : oftype<ISlice::pointer>(grind)) {
149  solve_slice(grind, islice);
150  }
151 
152  out = std::make_shared<SimpleCluster>(grind.graph());
153  return true;
154 }
IndexedGraph< cluster_node_t > cluster_indexed_graph_t
Definition: ICluster.h:105
static void solve_slice(cluster_indexed_graph_t &grind, ISlice::pointer islice)
Definition: BlobSolving.cxx:72

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