#include <WireBoundedDepos.h>
Public Member Functions | |
WireBoundedDepos () | |
virtual | ~WireBoundedDepos () |
virtual bool | operator() (const input_pointer &depo, output_queue &outq) |
The calling signature: More... | |
virtual void | configure (const WireCell::Configuration &config) |
Accept a configuration. More... | |
virtual WireCell::Configuration | default_configuration () const |
Optional, override to return a hard-coded default configuration. More... | |
Public Member Functions inherited from WireCell::IDrifter | |
virtual | ~IDrifter () |
virtual std::string | signature () |
Public Member Functions inherited from WireCell::IQueuedoutNode< IDepo, IDepo > | |
virtual | ~IQueuedoutNode () |
virtual bool | operator() (const boost::any &anyin, queuedany &outanyq) |
The calling signature: More... | |
virtual std::vector< std::string > | input_types () |
virtual std::vector< std::string > | output_types () |
Public Member Functions inherited from WireCell::IQueuedoutNodeBase | |
virtual | ~IQueuedoutNodeBase () |
virtual NodeCategory | category () |
Return the behavior category type. More... | |
virtual int | concurrency () |
By default assume all subclasses maintain state. 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 () |
Private Types | |
typedef std::tuple< int, int, int > | wire_bounds_t |
typedef std::vector< wire_bounds_t > | wire_region_t |
Private Attributes | |
IAnodePlane::pointer | m_anode |
bool | m_accept |
std::vector< const Pimpos * > | m_pimpos |
std::vector< wire_region_t > | m_regions |
Additional Inherited Members | |
Public Types inherited from WireCell::IDrifter | |
typedef std::shared_ptr< IDrifter > | pointer |
Public Types inherited from WireCell::IQueuedoutNode< IDepo, IDepo > | |
typedef std::shared_ptr< IQueuedoutNodeBase > | pointer |
typedef IDepo | input_type |
typedef IDepo | output_type |
typedef std::shared_ptr< const IDepo > | input_pointer |
typedef std::shared_ptr< const IDepo > | output_pointer |
typedef std::deque< output_pointer > | output_queue |
Public Types inherited from WireCell::IQueuedoutNodeBase | |
typedef std::shared_ptr< IQueuedoutNodeBase > | pointer |
typedef std::deque< boost::any > | queuedany |
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< INode > | pointer |
Access subclass facet by pointer. More... | |
typedef std::vector< pointer > | vector |
Vector of shared pointers. More... | |
Public Types inherited from WireCell::Interface | |
typedef std::shared_ptr< Interface > | pointer |
Public Types inherited from WireCell::IComponent< IConfigurable > | |
typedef std::shared_ptr< IConfigurable > | pointer |
Access subclass facet by pointer. More... | |
typedef std::vector< pointer > | vector |
Vector of shared pointers. More... | |
WireBoundedDepos outputs depos based on which wires they "land". To "land" means to drift antiparallel to the X-axis. The set of wire regions on which depos may or may not "land" is configured as an array of objects with three integer attributes:
[{ plane: <plane-number>, min: <min-wire-number>, max: <max-wire-number, },...]
Note the range is inclusive of the max.
Wire numbers must be counted along the positive pitch direction and starting at 0.
The filter can operate in "accept" or "reject" mode. In "accept" mode, a depo which "lands" on any configured wire region will be output. In "reject" mode a depo will not be output if it explicitly lands on any configured wire region. The first wire region landed will determine the fate of the depo.
If users desire to bound depos by the intersection of wires from multiple planes they may pipeline multiple WireBoundDepos serially, each configured to accept or reject wire regions defined for a given plane.
Definition at line 48 of file WireBoundedDepos.h.
|
private |
Definition at line 61 of file WireBoundedDepos.h.
|
private |
Definition at line 62 of file WireBoundedDepos.h.
Gen::WireBoundedDepos::WireBoundedDepos | ( | ) |
Definition at line 129 of file WireBoundedDepos.cxx.
|
virtual |
Definition at line 133 of file WireBoundedDepos.cxx.
|
virtual |
Accept a configuration.
Implements WireCell::IConfigurable.
Definition at line 40 of file WireBoundedDepos.cxx.
|
virtual |
Optional, override to return a hard-coded default configuration.
Reimplemented from WireCell::IConfigurable.
Definition at line 22 of file WireBoundedDepos.cxx.
|
virtual |
The calling signature:
Implements WireCell::IQueuedoutNode< IDepo, IDepo >.
Definition at line 79 of file WireBoundedDepos.cxx.
|
private |
Definition at line 58 of file WireBoundedDepos.h.
|
private |
Definition at line 57 of file WireBoundedDepos.h.
|
private |
Definition at line 59 of file WireBoundedDepos.h.
|
private |
Definition at line 63 of file WireBoundedDepos.h.