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.
1.8.11