20 virtual const Point&
pos()
const = 0;
24 virtual double time()
const = 0;
27 virtual double charge()
const = 0;
30 virtual double energy()
const = 0;
33 virtual int id()
const = 0;
36 virtual int pdg()
const = 0;
66 : drift_speed(drift_speed) {};
69 double t2 = rhs->time() + rhs->pos().x()/
drift_speed;
72 return lhs.get() < rhs.get();
virtual int pdg() const =0
PDG code from Geant4.
std::shared_ptr< const IDepo > pointer
IDepo::vector depo_chain(IDepo::pointer recent)
virtual double extent_long() const
virtual double extent_tran() const
virtual const Point & pos() const =0
The location of the deposition.
static const double microsecond
virtual pointer prior() const =0
If the deposition is drifted, this may allow access to the original.
std::vector< pointer > vector
virtual double charge() const =0
The number charge (in units of number of electrons) deposited.
bool operator()(const IDepo::pointer &lhs, const IDepo::pointer &rhs) const
std::set< IDepo::pointer, IDepoDriftCompare > DepoTauSortedSet
virtual int id() const =0
Track ID from Geant4.
bool descending_time(const WireCell::IDepo::pointer &lhs, const WireCell::IDepo::pointer &rhs)
Compare two IDepo::pointers for by time, descending. x is used to break tie.
virtual double energy() const =0
The energy (in units of MeV) deposited.
IDepoDriftCompare(double drift_speed=1.6 *units::mm/units::microsecond)
bool ascending_time(const WireCell::IDepo::pointer &lhs, const WireCell::IDepo::pointer &rhs)
Compare two IDepo::pointer by time (ascending). x is used to break tie.
virtual double time() const =0