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

#include <L1SPFilter.h>

Inheritance diagram for WireCell::SigProc::L1SPFilter:
Collaboration diagram for WireCell::SigProc::L1SPFilter:

Public Member Functions

 L1SPFilter (double gain=14.0 *units::mV/units::fC, double shaping=2.2 *units::microsecond, double postgain=1.2, double ADC_mV=4096/(2000.*units::mV), double fine_time_offset=0.0 *units::microsecond, double coarse_time_offset=-8.0 *units::microsecond)
 
virtual ~L1SPFilter ()
 
virtual bool operator() (const input_pointer &in, output_pointer &out)
 IFrameFilter interface. More...
 
virtual void configure (const WireCell::Configuration &config)
 IConfigurable interface. More...
 
virtual WireCell::Configuration default_configuration () const
 Optional, override to return a hard-coded default configuration. More...
 
void init_resp ()
 
int L1_fit (std::shared_ptr< WireCell::SimpleTrace > &newtrace, std::shared_ptr< const WireCell::ITrace > &adctrace, int start_tick, int end_tick, bool flag_shorted=false)
 
- Public Member Functions inherited from WireCell::IFrameFilter
virtual ~IFrameFilter ()
 
virtual std::string signature ()
 Set the signature for all subclasses. More...
 
- Public Member Functions inherited from WireCell::IFunctionNode< IFrame, IFrame >
virtual ~IFunctionNode ()
 
virtual bool operator() (const boost::any &anyin, boost::any &anyout)
 The calling signature: More...
 
virtual bool operator() (const input_pointer &in, output_pointer &out)=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::IFunctionNodeBase
virtual ~IFunctionNodeBase ()
 
virtual NodeCategory category ()
 Return the behavior category type. More...
 
virtual int concurrency ()
 By default assume all subclasses are stateless. 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::IFrameFilter
typedef std::shared_ptr< IFrameFilterpointer
 
- Public Types inherited from WireCell::IFunctionNode< IFrame, IFrame >
typedef IFrame input_type
 
typedef IFrame output_type
 
typedef std::shared_ptr< const IFrameinput_pointer
 
typedef std::shared_ptr< const IFrameoutput_pointer
 
typedef IFunctionNode< IFrame, IFramesignature_type
 
- Public Types inherited from WireCell::IFunctionNodeBase
typedef std::shared_ptr< IFunctionNodeBasepointer
 
- 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 18 of file L1SPFilter.h.

Constructor & Destructor Documentation

◆ L1SPFilter()

L1SPFilter::L1SPFilter ( double  gain = 14.0 * units::mV/units::fC,
double  shaping = 2.2 * units::microsecond,
double  postgain = 1.2,
double  ADC_mV = 4096/(2000.*units::mV),
double  fine_time_offset = 0.0 * units::microsecond,
double  coarse_time_offset = -8.0 * units::microsecond 
)

Definition at line 25 of file L1SPFilter.cxx.

◆ ~L1SPFilter()

L1SPFilter::~L1SPFilter ( )
virtual

Definition at line 42 of file L1SPFilter.cxx.

Member Function Documentation

◆ configure()

void L1SPFilter::configure ( const WireCell::Configuration config)
virtual

IConfigurable interface.

Implements WireCell::IConfigurable.

Definition at line 165 of file L1SPFilter.cxx.

◆ default_configuration()

WireCell::Configuration L1SPFilter::default_configuration ( ) const
virtual

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

Name of component providing field responses

An array holding a waveform to use as the "smearing" filter.

The tag identifying traces which represent "raw" (not deconvolved) ADC values.

The tag identifying traces which represent "signal" processed (deconvolved) waveforms.

The tag to place on the output waveforms

Reimplemented from WireCell::IConfigurable.

Definition at line 97 of file L1SPFilter.cxx.

◆ init_resp()

void L1SPFilter::init_resp ( )

Definition at line 48 of file L1SPFilter.cxx.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ L1_fit()

int L1SPFilter::L1_fit ( std::shared_ptr< WireCell::SimpleTrace > &  newtrace,
std::shared_ptr< const WireCell::ITrace > &  adctrace,
int  start_tick,
int  end_tick,
bool  flag_shorted = false 
)

Definition at line 493 of file L1SPFilter.cxx.

Here is the caller graph for this function:

◆ operator()()

bool L1SPFilter::operator() ( const input_pointer in,
output_pointer out 
)
virtual

IFrameFilter interface.

here, use the ADC and signal traces to do L1SP put result in out_traces

Definition at line 178 of file L1SPFilter.cxx.

Here is the call graph for this function:

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