1 #ifndef WIRECELLGEN_GaussianDiffusion 2 #define WIRECELLGEN_GaussianDiffusion 47 return std::make_pair(center-sigma*nsigma, center+sigma*nsigma);
52 std::vector<double>
sample(
double start,
double step,
int nsamples)
const;
57 std::vector<double>
binint(
double start,
double step,
int nbins)
const;
62 std::vector<double>
weight(
double start,
double step,
int nbins, std::vector<double> pvec)
const;
71 typedef std::shared_ptr<GaussianDiffusion>
pointer;
102 unsigned int weightstrat = 1);
103 void clear_sampling();
108 const patch_t&
patch()
const;
110 const std::vector<double> weights()
const;
121 double depo_time()
const {
return m_deposition->time();}
122 double depo_x()
const {
return m_deposition->pos().x();}
std::shared_ptr< const IDepo > pointer
double distance(double x)
Return the distance in number of sigma that x is from the center.
GausDesc(double center, double sigma)
int toffset_bin() const
Return the absolute time bin in the binning corresponding to column 0 of the patch.
std::vector< double > binint(double start, double step, int nbins) const
double sigma
The Gaussian sigma (half) width.
std::vector< double > m_qweights
std::vector< double > weight(double start, double step, int nbins, std::vector< double > pvec) const
int poffset_bin() const
Return the absolute impact bin in the binning corresponding to column 0 of the patch.
const GausDesc time_desc()
std::pair< double, double > sigma_range(double nsigma=3.0)
std::shared_ptr< Interface > pointer
std::vector< double > sample(double start, double step, int nsamples) const
const GausDesc pitch_desc()
IDepo::pointer depo() const
Access deposition.
IDepo::pointer m_deposition
std::shared_ptr< GaussianDiffusion > pointer
Eigen::ArrayXXf array_xxf
A real, 2D array.