A producer of depositions created from some number of simple, linear tracks. More...
#include <TrackDepos.h>
Public Types | |
typedef std::tuple< double, Ray, double > | track_t |
Public Types inherited from WireCell::IDepoSource | |
typedef std::shared_ptr< IDepoSource > | pointer |
Public Types inherited from WireCell::ISourceNode< IDepo > | |
typedef IDepo | output_type |
typedef ISourceNode< IDepo > | signature_type |
typedef std::shared_ptr< signature_type > | pointer |
typedef std::shared_ptr< const IDepo > | output_pointer |
Public Types inherited from WireCell::ISourceNodeBase | |
typedef std::shared_ptr< ISourceNodeBase > | pointer |
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... | |
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_t > | tracks () 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 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 () |
Private Attributes | |
double | m_stepsize |
double | m_clight |
std::deque< WireCell::IDepo::pointer > | m_depos |
std::vector< track_t > | m_tracks |
int | m_count |
Log::logptr_t | l |
A producer of depositions created from some number of simple, linear tracks.
Definition at line 17 of file TrackDepos.h.
typedef std::tuple<double, Ray, double> WireCell::Gen::TrackDepos::track_t |
Definition at line 40 of file TrackDepos.h.
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.
|
virtual |
Definition at line 26 of file TrackDepos.cxx.
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.
|
virtual |
Accept a configuration.
Implements WireCell::IConfigurable.
Definition at line 45 of file TrackDepos.cxx.
|
virtual |
Optional, override to return a hard-coded default configuration.
Reimplemented from WireCell::IConfigurable.
Definition at line 30 of file TrackDepos.cxx.
WireCell::IDepo::vector Gen::TrackDepos::depos | ( | ) |
Definition at line 137 of file TrackDepos.cxx.
|
virtual |
Implements WireCell::ISourceNode< IDepo >.
Definition at line 119 of file TrackDepos.cxx.
|
inline |
Definition at line 41 of file TrackDepos.h.
|
private |
Definition at line 49 of file TrackDepos.h.
|
private |
Definition at line 45 of file TrackDepos.h.
|
private |
Definition at line 48 of file TrackDepos.h.
|
private |
Definition at line 46 of file TrackDepos.h.
|
private |
Definition at line 44 of file TrackDepos.h.
|
private |
Definition at line 47 of file TrackDepos.h.