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

A producer of depositions created from some number of simple, linear tracks. More...

#include <TrackDepos.h>

Inheritance diagram for WireCell::Gen::TrackDepos:
Collaboration diagram for WireCell::Gen::TrackDepos:

Public Types

typedef std::tuple< double, Ray, double > track_t
 
- Public Types inherited from WireCell::IDepoSource
typedef std::shared_ptr< IDepoSourcepointer
 
- Public Types inherited from WireCell::ISourceNode< IDepo >
typedef IDepo output_type
 
typedef ISourceNode< IDeposignature_type
 
typedef std::shared_ptr< signature_typepointer
 
typedef std::shared_ptr< const IDepooutput_pointer
 
- Public Types inherited from WireCell::ISourceNodeBase
typedef std::shared_ptr< ISourceNodeBasepointer
 
- 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...
 

Public Member Functions

 TrackDepos (double stepsize=1.0 *units::millimeter, double clight=1.0)
 
virtual ~TrackDepos ()
 
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...
 
void add_track (double time, const WireCell::Ray &ray, double dedx=-1.0)
 
virtual bool operator() (IDepo::pointer &out)
 ISourceNode. More...
 
WireCell::IDepo::vector depos ()
 
std::vector< track_ttracks () const
 
- Public Member Functions inherited from WireCell::IDepoSource
virtual ~IDepoSource ()
 
virtual std::string signature ()
 Set the signature for all subclasses. More...
 
- Public Member Functions inherited from WireCell::ISourceNode< IDepo >
virtual ~ISourceNode ()
 
virtual NodeCategory category ()
 Return the behavior category type. More...
 
virtual bool operator() (boost::any &anyout)
 
virtual bool operator() (output_pointer &out)=0
 The calling signature: More...
 
virtual std::vector< std::string > output_types ()
 
- Public Member Functions inherited from WireCell::ISourceNodeBase
virtual ~ISourceNodeBase ()
 
- Public Member Functions inherited from WireCell::INode
virtual ~INode ()
 
virtual int concurrency ()
 
virtual std::vector< std::string > input_types ()
 
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 ()
 

Detailed Description

A producer of depositions created from some number of simple, linear tracks.

Definition at line 17 of file TrackDepos.h.

Member Typedef Documentation

◆ track_t

typedef std::tuple<double, Ray, double> WireCell::Gen::TrackDepos::track_t

Definition at line 40 of file TrackDepos.h.

Constructor & Destructor Documentation

◆ TrackDepos()

Gen::TrackDepos::TrackDepos ( double  stepsize = 1.0*units::millimeter,
double  clight = 1.0 
)

Create tracks with depositions every stepsize and assumed to be traveling at clight.

Definition at line 18 of file TrackDepos.cxx.

◆ ~TrackDepos()

Gen::TrackDepos::~TrackDepos ( )
virtual

Definition at line 26 of file TrackDepos.cxx.

Member Function Documentation

◆ add_track()

void Gen::TrackDepos::add_track ( double  time,
const WireCell::Ray ray,
double  dedx = -1.0 
)

Add track starting at given <time> and stretching across given ray. The <dedx> gives a uniform charge/distance and if < 0 then it gives the (negative of) absolute amount of charge per deposition.

Definition at line 85 of file TrackDepos.cxx.

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

◆ configure()

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

Accept a configuration.

Implements WireCell::IConfigurable.

Definition at line 45 of file TrackDepos.cxx.

Here is the call graph for this function:

◆ default_configuration()

Configuration Gen::TrackDepos::default_configuration ( ) const
virtual

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

Reimplemented from WireCell::IConfigurable.

Definition at line 30 of file TrackDepos.cxx.

◆ depos()

WireCell::IDepo::vector Gen::TrackDepos::depos ( )

Definition at line 137 of file TrackDepos.cxx.

◆ operator()()

bool Gen::TrackDepos::operator() ( IDepo::pointer out)
virtual

ISourceNode.

Definition at line 119 of file TrackDepos.cxx.

◆ tracks()

std::vector<track_t> WireCell::Gen::TrackDepos::tracks ( ) const
inline

Definition at line 41 of file TrackDepos.h.


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