1 #ifndef WIRECELL_IDIFFUSION 2 #define WIRECELL_IDIFFUSION 29 virtual double get(
int lind,
int tind)
const = 0;
32 virtual int lsize()
const = 0 ;
35 virtual int tsize()
const = 0;
38 virtual double lpos(
int ind,
double offset=0.0)
const = 0;
41 virtual double tpos(
int ind,
double offset=0.0)
const = 0;
60 if (lhs->lbegin() == rhs->lbegin()) {
61 return lhs.get() < rhs.get();
63 return lhs->lbegin() < rhs->lbegin();
66 typedef std::set<IDiffusion::pointer, IDiffusionCompareLbegin>
IDiffusionSet;
std::shared_ptr< const IDepo > pointer
double tbegin() const
Return begin of diffusion patch in transverse direction.
double lbin() const
Return bins size in longitudinal direction.
bool operator()(const IDiffusion::pointer &lhs, const IDiffusion::pointer &rhs) const
virtual int lsize() const =0
Helper method to give the array size in longitudinal dimension.
virtual double lpos(int ind, double offset=0.0) const =0
virtual IDepo::pointer depo() const =0
Return the deposition that led to this diffusion.
double lend() const
Return end of diffusion patch in longitudinal direction.
std::set< IDiffusion::pointer, IDiffusionCompareLbegin > IDiffusionSet
virtual int tsize() const =0
Helper method to give the array size in transverse dimension.
double lbegin() const
Return begin of diffusion patch in longitudinal direction.
virtual double tpos(int ind, double offset=0.0) const =0
double tend() const
Return end of diffusion patch in transverse direction.
double tbin() const
Return bins size in transverse direction.