WireCellToolkit
Wire Cell Simulation, Signal Process and Reconstruction Toolki for Liquid Argon Detectors
WireCell::Gen::WireBoundedDepos Class Reference

#include <WireBoundedDepos.h>

Inheritance diagram for WireCell::Gen::WireBoundedDepos:
Collaboration diagram for WireCell::Gen::WireBoundedDepos:

Public Member Functions

 WireBoundedDepos ()
 
virtual ~WireBoundedDepos ()
 
virtual bool operator() (const input_pointer &depo, output_queue &outq)
 
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 bool operator() (const input_pointer &in, output_queue &outq)=0
 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 ()
 

Additional Inherited Members

- Public Types inherited from WireCell::IDrifter
typedef std::shared_ptr< IDrifterpointer
 
- Public Types inherited from WireCell::IQueuedoutNode< IDepo, IDepo >
typedef std::shared_ptr< IQueuedoutNodeBasepointer
 
typedef IDepo input_type
 
typedef IDepo output_type
 
typedef std::shared_ptr< const IDepoinput_pointer
 
typedef std::shared_ptr< const IDepooutput_pointer
 
typedef std::deque< output_pointeroutput_queue
 
- Public Types inherited from WireCell::IQueuedoutNodeBase
typedef std::shared_ptr< IQueuedoutNodeBasepointer
 
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< 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

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.

Constructor & Destructor Documentation

◆ WireBoundedDepos()

Gen::WireBoundedDepos::WireBoundedDepos ( )

Definition at line 129 of file WireBoundedDepos.cxx.

◆ ~WireBoundedDepos()

Gen::WireBoundedDepos::~WireBoundedDepos ( )
virtual

Definition at line 133 of file WireBoundedDepos.cxx.

Member Function Documentation

◆ configure()

void Gen::WireBoundedDepos::configure ( const WireCell::Configuration config)
virtual

Accept a configuration.

Implements WireCell::IConfigurable.

Definition at line 40 of file WireBoundedDepos.cxx.

◆ default_configuration()

WireCell::Configuration Gen::WireBoundedDepos::default_configuration ( ) const
virtual

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

Reimplemented from WireCell::IConfigurable.

Definition at line 22 of file WireBoundedDepos.cxx.

◆ operator()()

bool Gen::WireBoundedDepos::operator() ( const input_pointer depo,
output_queue outq 
)
virtual

Definition at line 79 of file WireBoundedDepos.cxx.


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