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

#include <TruthSmearer.h>

Inheritance diagram for WireCell::Gen::TruthSmearer:
Collaboration diagram for WireCell::Gen::TruthSmearer:

Public Member Functions

 TruthSmearer ()
 
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 16 of file TruthSmearer.h.

Constructor & Destructor Documentation

◆ TruthSmearer()

Gen::TruthSmearer::TruthSmearer ( )

based on Gen::Ductor without convolution just smearing of charge depos in time and wire dimenstions (time_smear = 0, wire_smear = 1) means "Charge Truth" otherwires, "Signal Truth" with signal processing residual

Definition at line 26 of file TruthSmearer.cxx.

Member Function Documentation

◆ configure()

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

Accept a configuration.

An interface, not used. Exact "Truth" after signal processing.

Implements WireCell::IConfigurable.

Definition at line 105 of file TruthSmearer.cxx.

Here is the call graph for this function:

◆ default_configuration()

WireCell::Configuration Gen::TruthSmearer::default_configuration ( ) const
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.

The nominal speed of drifting electrons

Gaussian longitudinal (time) smearing – time filter in SP

Discrete wire smear – wire filter in Fig.16 arXiv: 1802.08709 the charge within one wire pitch is equally weighted, i.e. no impact position dependency

Transverse (wire) smearing – re-distribute the charge onto nearby wires. A function of impact position, like field response. Attention: this is the residual field response (true / average). Normalization issue – true, see percentage level charge bias for point source of charge at various locations within a wire. An interface, not used are present.

gain for truth – sign of charge in the output

Allow for a custom starting frame number

Name of component providing the anode plane.

Reimplemented from WireCell::IConfigurable.

Definition at line 45 of file TruthSmearer.cxx.

Here is the call graph for this function:

◆ operator()()

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

Definition at line 318 of file TruthSmearer.cxx.


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