Code indexing in gitaly is broken and leads to code not being visible to the user. We work on the issue with highest priority.

Skip to content
Snippets Groups Projects
Commit 30f15a05 authored by albajacas_a's avatar albajacas_a
Browse files

Resolve "New multiGauss distribution"

parent 32ec6c48
No related branches found
No related tags found
No related merge requests found
This diff is collapsed.
......@@ -58,6 +58,7 @@ namespace DistrTypeT
GAUSS,
BINOMIAL,
FLATTOP,
MULTIGAUSS,
SURFACEEMISSION,
SURFACERANDCREATE,
GUNGAUSSFLATTOPTH,
......@@ -139,6 +140,8 @@ namespace Attrib
CUTOFFPZ,
FTOSCAMPLITUDE,
FTOSCPERIODS,
SEPPEAKS,
NPEAKS,
R, // the correlation matrix (a la transport)
CORRX,
CORRY,
......@@ -334,6 +337,8 @@ public:
bool Rebin();
void setDistToEmitted(bool emitted);
void setDistType();
void setSigmaR_m();
void setSigmaP_m(double massIneV);
void shiftBeam(double &maxTOrZ, double &minTOrZ);
double getEmissionTimeShift() const;
......@@ -400,9 +405,11 @@ private:
void createDistributionBinomial(size_t numberOfParticles, double massIneV);
void createDistributionFlattop(size_t numberOfParticles, double massIneV);
void createDistributionMultiGauss(size_t numberOfParticles, double massIneV);
void createDistributionFromFile(size_t numberOfParticles, double massIneV);
void createDistributionGauss(size_t numberOfParticles, double massIneV);
void createMatchedGaussDistribution(size_t numberOfParticles, double massIneV);
void sampleUniformDisk(gsl_qrng* quasiRandGen2D, double& x1, double& x2);
void fillEBinHistogram();
void fillParticleBins();
size_t findEBin(double tOrZ);
......@@ -419,6 +426,7 @@ private:
void printDist(Inform &os, size_t numberOfParticles) const;
void printDistBinomial(Inform &os) const;
void printDistFlattop(Inform &os) const;
void printDistMultiGauss(Inform &os) const;
void printDistFromFile(Inform &os) const;
void printDistGauss(Inform &os) const;
void printDistMatchedGauss(Inform &os) const;
......@@ -437,6 +445,7 @@ private:
void setAttributes();
void setDistParametersBinomial(double massIneV);
void setDistParametersFlattop(double massIneV);
void setDistParametersMultiGauss(double massIneV);
void setDistParametersGauss(double massIneV);
void setEmissionTime(double &maxT, double &minT);
void setFieldEmissionParameters();
......@@ -470,7 +479,11 @@ private:
EmissionModelT::EmissionModelT emissionModel_m;
/// Emission parameters.
double tEmission_m;
double tEmission_m;
static const double percentTEmission_m; /// Increase tEmission_m by twice this percentage
/// to ensure that no particles fall on the leading edge of
/// the first emission time step or the trailing edge of the last
/// emission time step.
double tBin_m;
double currentEmissionTime_m;
int currentEnergyBin_m;
......@@ -535,6 +548,10 @@ private:
Vector_t mBinomial_m;
SymTenzor<double, 6> correlationMatrix_m;
// Parameters multiGauss distribution.
double sepPeaks_m;
unsigned nPeaks_m;
// Laser profile.
std::string laserProfileFileName_m;
std::string laserImageName_m;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment