18 #ifndef DISTRIBUTIONMOMENTS_H
19 #define DISTRIBUTIONMOMENTS_H
30 template<
class T,
unsigned Dim>
37 void compute(
const std::vector<OpalParticle>::const_iterator &,
38 const std::vector<OpalParticle>::const_iterator &);
82 template<
class InputIt>
84 template<
class InputIt>
86 template<
class InputIt>
88 using iterator_t = std::vector<Vektor<double, 2>>::const_iterator;
90 const std::vector<int>& globalAccumulatedHistogram,
91 const std::vector<int>& localAccumulatedHistogram,
92 unsigned int dimension,
93 int numRequiredParticles)
const;
336 for (
unsigned int i = 0; i < 3; ++ i) {
std::vector< Vektor< double, 2 >>::const_iterator iterator_t
constexpr double c
The velocity of light in m/s.
double getStdKineticEnergy() const
Vector_t getNormalizedEmittance() const
Vector_t ninetyNine_NinetyNinePercentile_m
Vector_t getStandardDeviationPosition() const
Vector_t get95Percentile() const
double getTotalMass() const
Vector_t getNormalizedEmittance99_99Percentile() const
double getMeanTime() const
double meanKineticEnergy_m
std::pair< double, iterator_t > determinePercentilesDetail(const iterator_t &begin, const iterator_t &end, const std::vector< int > &globalAccumulatedHistogram, const std::vector< int > &localAccumulatedHistogram, unsigned int dimension, int numRequiredParticles) const
static const double percentileFourSigmasNormalDist_m
PETE_TUTree< FnAbs, typename T::PETE_Expr_t > abs(const PETE_Expr< T > &l)
void computeStatistics(const InputIt &, const InputIt &)
void computeMeanKineticEnergy(PartBunchBase< double, 3 > const &)
Vector_t getStandardDeviationRP() const
static const double percentileThreeSigmasNormalDist_m
double getTotalCharge() const
Vector_t ninetyNinePercentile_m
clearpage the user may choose between constant or variable radius This model includes fringe fields begin
double getTemperature() const
Vector_t getMeanPosition() const
Vector_t getNormalizedEmittance99Percentile() const
Vector_t normalizedEps99Percentile_m
T::PETE_Expr_t::PETE_Return_t max(const PETE_Expr< T > &expr, NDIndex< D > &loc)
double getTotalNumParticles() const
double getPlasmaParameter() const
Vector_t get68Percentile() const
Vector_t getNormalizedEmittance95Percentile() const
Vector_t getGeometricEmittance() const
void computePercentiles(const InputIt &, const InputIt &)
double getMeanKineticEnergy() const
double stdKineticEnergy_m
Vector_t normalizedEps95Percentile_m
double computeNormalizedEmittance(const iterator_t &begin, const iterator_t &end) const
constexpr double kB
Boltzman's constant in eV/K.
double getStdTime() const
Vector_t getNormalizedEmittance68Percentile() const
void resetPlasmaParameters()
void fillMembers(std::vector< double > const &)
Vector_t get99Percentile() const
double getDebyeLength() const
Vector_t get99_99Percentile() const
void computeDebyeLength(PartBunchBase< double, 3 > const &, double)
unsigned int totalNumParticles_m
Vector_t normalizedEps99_99Percentile_m
Vector_t sixtyEightPercentile_m
void computeMeans(const InputIt &, const InputIt &)
bool isParticleExcluded(const OpalParticle &) const
void compute(const std::vector< OpalParticle >::const_iterator &, const std::vector< OpalParticle >::const_iterator &)
double getMeanGamma() const
Vector_t normalizedEps68Percentile_m
Vector_t getStandardDeviationMomentum() const
static const double percentileOneSigmaNormalDist_m
FMatrix< double, 6, 6 > moments_m
static const double percentileTwoSigmasNormalDist_m
Vector_t getMeanMomentum() const
FMatrix< double, 6, 6 > getMoments6x6() const
void computePlasmaParameter(double)
Vector_t ninetyFivePercentile_m