WireCellToolkit
Wire Cell Simulation, Signal Process and Reconstruction Toolki for Liquid Argon Detectors
WireCell::Gen::GaussianDiffusion Class Reference

#include <GaussianDiffusion.h>

Public Types

typedef std::shared_ptr< GaussianDiffusionpointer
 
typedef Array::array_xxf patch_t
 

Public Member Functions

 GaussianDiffusion (const IDepo::pointer &depo, const GausDesc &time_desc, const GausDesc &pitch_desc)
 GaussianDiffusion. More...
 
void set_sampling (const Binning &tbin, const Binning &pbin, double nsigma=3.0, IRandom::pointer fluctuate=nullptr, unsigned int weightstrat=1)
 
void clear_sampling ()
 
const patch_tpatch () const
 
const std::vector< double > weights () const
 
int toffset_bin () const
 Return the absolute time bin in the binning corresponding to column 0 of the patch. More...
 
int poffset_bin () const
 Return the absolute impact bin in the binning corresponding to column 0 of the patch. More...
 
IDepo::pointer depo () const
 Access deposition. More...
 
double depo_time () const
 
double depo_x () const
 
const GausDesc pitch_desc ()
 
const GausDesc time_desc ()
 

Detailed Description

Definition at line 68 of file GaussianDiffusion.h.

Member Typedef Documentation

◆ patch_t

A patch is a 2D array of diffuse charge in (nimpacts X nticks) bins. patch[0] is drifted/diffused charge waveform at impact position 0 (relative to min pitch for the patch). patch[0][0] is charge at this impact position at time = 0 (relative to min time for the patch). See bin().

Definition at line 80 of file GaussianDiffusion.h.

◆ pointer

Definition at line 71 of file GaussianDiffusion.h.

Constructor & Destructor Documentation

◆ GaussianDiffusion()

Gen::GaussianDiffusion::GaussianDiffusion ( const IDepo::pointer depo,
const GausDesc time_desc,
const GausDesc pitch_desc 
)

GaussianDiffusion.

Create a diffused deposition.

Definition at line 113 of file GaussianDiffusion.cxx.

Member Function Documentation

◆ clear_sampling()

void Gen::GaussianDiffusion::clear_sampling ( )

Definition at line 238 of file GaussianDiffusion.cxx.

◆ depo()

IDepo::pointer WireCell::Gen::GaussianDiffusion::depo ( ) const
inline

Access deposition.

Definition at line 119 of file GaussianDiffusion.h.

◆ depo_time()

double WireCell::Gen::GaussianDiffusion::depo_time ( ) const
inline

Definition at line 121 of file GaussianDiffusion.h.

◆ depo_x()

double WireCell::Gen::GaussianDiffusion::depo_x ( ) const
inline

Definition at line 122 of file GaussianDiffusion.h.

◆ patch()

const Gen::GaussianDiffusion::patch_t & Gen::GaussianDiffusion::patch ( ) const

Get the diffusion patch as an array of N_pitch rows X N_time columns. Index as patch(i_pitch, i_time). Call set_sampling() first.

Definition at line 246 of file GaussianDiffusion.cxx.

◆ pitch_desc()

const GausDesc WireCell::Gen::GaussianDiffusion::pitch_desc ( )
inline

Definition at line 124 of file GaussianDiffusion.h.

◆ poffset_bin()

int WireCell::Gen::GaussianDiffusion::poffset_bin ( ) const
inline

Return the absolute impact bin in the binning corresponding to column 0 of the patch.

Definition at line 116 of file GaussianDiffusion.h.

◆ set_sampling()

void Gen::GaussianDiffusion::set_sampling ( const Binning tbin,
const Binning pbin,
double  nsigma = 3.0,
IRandom::pointer  fluctuate = nullptr,
unsigned int  weightstrat = 1 
)

This fills the patch once matching the given time and pitch binning. The patch is limited to the 2D sample points that cover the subdomain determined by the number of sigma. If there should be Poisson fluctuations applied pass in an IRandom. Total charge is charge is preserved. Each cell of the patch represents the 2D bin-centered sampling of the Gaussian.

Sample time dimension

Sample pitch dimension.

fixme: for hanyu.

Definition at line 124 of file GaussianDiffusion.cxx.

Here is the call graph for this function:

◆ time_desc()

const GausDesc WireCell::Gen::GaussianDiffusion::time_desc ( )
inline

Definition at line 125 of file GaussianDiffusion.h.

◆ toffset_bin()

int WireCell::Gen::GaussianDiffusion::toffset_bin ( ) const
inline

Return the absolute time bin in the binning corresponding to column 0 of the patch.

Definition at line 113 of file GaussianDiffusion.h.

◆ weights()

const std::vector< double > Gen::GaussianDiffusion::weights ( ) const

Definition at line 251 of file GaussianDiffusion.cxx.


The documentation for this class was generated from the following files: