#include <Ductor.h>
Public Member Functions | |
Ductor () | |
virtual | ~Ductor () |
virtual bool | operator() (const input_pointer &depo, output_queue &frames) |
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::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 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 () |
Protected Member Functions | |
virtual void | process (output_queue &frames) |
virtual ITrace::vector | process_face (IAnodeFace::pointer face, const IDepo::vector &face_depos) |
bool | start_processing (const input_pointer &depo) |
Protected Attributes | |
std::string | m_anode_tn |
std::string | m_rng_tn |
std::vector< std::string > | m_pir_tns |
IAnodePlane::pointer | m_anode |
IRandom::pointer | m_rng |
std::vector< IPlaneImpactResponse::pointer > | m_pirs |
IDepo::vector | m_depos |
double | m_start_time |
double | m_readout_time |
double | m_tick |
double | m_drift_speed |
double | m_nsigma |
bool | m_fluctuate |
std::string | m_mode |
int | m_frame_count |
Log::logptr_t | l |
Additional Inherited Members | |
Public Types inherited from WireCell::IDuctor | |
typedef std::shared_ptr< IDuctor > | pointer |
Public Types inherited from WireCell::IQueuedoutNode< IDepo, IFrame > | |
typedef std::shared_ptr< IQueuedoutNodeBase > | pointer |
typedef IDepo | input_type |
typedef IFrame | output_type |
typedef std::shared_ptr< const IDepo > | input_pointer |
typedef std::shared_ptr< const IFrame > | 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... | |
This IDuctor needs a Garfield2D field calculation data file in compressed JSON format as produced by Python module wirecell.sigproc.garfield.
Gen::Ductor::Ductor | ( | ) |
Definition at line 19 of file Ductor.cxx.
|
inlinevirtual |
|
virtual |
Accept a configuration.
Implements WireCell::IConfigurable.
Definition at line 84 of file Ductor.cxx.
|
virtual |
Optional, override to return a hard-coded default configuration.
How many Gaussian sigma due to diffusion to keep before truncating.
Whether to fluctuate the final Gaussian deposition.
The initial time for this ductor
The time span for each readout.
The sample period
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.
Fixed mode simply reads out the same time window all the time. It implies discontinuous (continuous == false).
The nominal speed of drifting electrons
Allow for a custom starting frame number
Name of component providing the anode plane.
don't set here so user must, but eg:
Reimplemented from WireCell::IConfigurable.
Definition at line 34 of file Ductor.cxx.
|
virtual |
The calling signature:
Implements WireCell::IQueuedoutNode< IDepo, IFrame >.
Definition at line 272 of file Ductor.cxx.
|
protectedvirtual |
Definition at line 174 of file Ductor.cxx.
|
protectedvirtual |
Reimplemented in WireCell::Gen::DepoSplat.
Definition at line 130 of file Ductor.cxx.
|
protected |
Definition at line 244 of file Ductor.cxx.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |