1#ifndef __QPMONTECARLO__
2#define __QPMONTECARLO__ 1
41 const double& ymin,
const double& ymax);
69 std::vector<Record>
Run(
int ntrial);
76 static bool WriteCSV(
const std::vector<Record>& records,
77 const std::string& filename);
94 bool fRandomAmp =
false;
96 double fThreshold = 0.;
Abstract pixel-matrix digitizer: owns the injected signals and the matrix geometry; concrete classes ...
Monte Carlo driver for cluster-size studies.
void SetThreshold(const double &threshold)
Pixel firing threshold.
Record Shoot()
Generate one event.
void SetAmplitude(const double &)
Fixed amplitude for every event; disables the amplitude draw.
void SetSigma(const double &sigma)
Width of the injected Gaussian.
QPDigitizerBase * GetDigitizer() const
std::vector< Record > Run(int ntrial)
Shoot() ntrial times.
static bool WriteCSV(const std::vector< Record > &records, const std::string &filename)
Write records as CSV: header line amp,x,y,sig,npix, values with %.17g (round-trip double precision).
void SetPositionRange(const double &xmin, const double &xmax, const double &ymin, const double &ymax)
Uniform draw ranges for the signal position, µm.
void SetAmplitudeRange(const double &min, const double &max)
Per-event uniform amplitude draw.
Abstract random number source.
One generated event, plain data only.
int fNpix
pixels above threshold (cluster size)
double fSigma
value placed on both diagonal entries of the covariance-form matrix S
double fAmp
signal amplitude, electrons
double fY
signal position y, µm
double fX
signal position x, µm