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

#include <MultiDuctor.h>

Inheritance diagram for WireCell::Gen::MultiDuctor:
Collaboration diagram for WireCell::Gen::MultiDuctor:

Public Member Functions

 MultiDuctor (const std::string anode="AnodePlane")
 
virtual ~MultiDuctor ()
 
virtual bool operator() (const input_pointer &depo, output_queue &frames)
 
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::IDuctor
virtual ~IDuctor ()
 
virtual std::string signature ()
 
- Public Member Functions inherited from WireCell::IQueuedoutNode< IDepo, IFrame >
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::IDuctor
typedef std::shared_ptr< IDuctorpointer
 
- Public Types inherited from WireCell::IQueuedoutNode< IDepo, IFrame >
typedef std::shared_ptr< IQueuedoutNodeBasepointer
 
typedef IDepo input_type
 
typedef IFrame output_type
 
typedef std::shared_ptr< const IDepoinput_pointer
 
typedef std::shared_ptr< const IFrameoutput_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

Definition at line 22 of file MultiDuctor.h.

Constructor & Destructor Documentation

◆ MultiDuctor()

Gen::MultiDuctor::MultiDuctor ( const std::string  anode = "AnodePlane")

Definition at line 20 of file MultiDuctor.cxx.

◆ ~MultiDuctor()

Gen::MultiDuctor::~MultiDuctor ( )
virtual

Definition at line 30 of file MultiDuctor.cxx.

Member Function Documentation

◆ configure()

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

Accept a configuration.

fixme: this is totally going to break when going to two-faced anodes.

Implements WireCell::IConfigurable.

Definition at line 126 of file MultiDuctor.cxx.

◆ default_configuration()

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

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

The initial time for this ductor

The time span for each readout.

If false then determine start time of each readout based on the input depos. This option is useful when running WCT sim on a source of depos which have already been "chunked" in time. If true then this Ductor will continuously simulate all time in "readout_time" frames leading to empty frames in the case of some readout time with no depos.

Allow for a custom starting frame number

Reimplemented from WireCell::IConfigurable.

Definition at line 34 of file MultiDuctor.cxx.

◆ operator()()

bool Gen::MultiDuctor::operator() ( const input_pointer depo,
output_queue frames 
)
virtual

Definition at line 400 of file MultiDuctor.cxx.


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