OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
|
#include <DistributionMoments.h>
Public Member Functions | |
DistributionMoments () | |
void | compute (const std::vector< OpalParticle >::const_iterator &, const std::vector< OpalParticle >::const_iterator &) |
void | compute (PartBunchBase< double, 3 > const &) |
void | computeMeanKineticEnergy (PartBunchBase< double, 3 > const &) |
Vector_t | getMeanPosition () const |
Vector_t | getStandardDeviationPosition () const |
Vector_t | getMeanMomentum () const |
Vector_t | getStandardDeviationMomentum () const |
Vector_t | getNormalizedEmittance () const |
Vector_t | getGeometricEmittance () const |
Vector_t | getStandardDeviationRP () const |
Vector_t | getHalo () const |
double | getMeanTime () const |
double | getStdTime () const |
double | getMeanGamma () const |
double | getMeanKineticEnergy () const |
double | getStdKineticEnergy () const |
double | getDx () const |
double | getDDx () const |
double | getDy () const |
double | getDDy () const |
double | getTotalCharge () const |
double | getTotalMass () const |
double | getTotalNumParticles () const |
Private Member Functions | |
bool | isParticleExcluded (const OpalParticle &) const |
template<class InputIt > | |
void | computeMeans (const InputIt &, const InputIt &) |
template<class InputIt > | |
void | computeStatistics (const InputIt &, const InputIt &) |
void | fillMembers (std::vector< double > const &) |
void | reset () |
Private Attributes | |
Vector_t | meanR_m |
Vector_t | meanP_m |
Vector_t | stdR_m |
Vector_t | stdP_m |
Vector_t | stdRP_m |
Vector_t | normalizedEps_m |
Vector_t | geometricEps_m |
Vector_t | halo_m |
double | meanTime_m |
double | stdTime_m |
double | meanKineticEnergy_m |
double | stdKineticEnergy_m |
double | meanGamma_m |
double | Dx_m |
double | DDx_m |
double | Dy_m |
double | DDy_m |
double | centroid_m [6] |
FMatrix< double, 6, 6 > | moments_m |
double | totalCharge_m |
double | totalMass_m |
unsigned int | totalNumParticles_m |
Definition at line 31 of file DistributionMoments.h.
DistributionMoments::DistributionMoments | ( | ) |
Definition at line 31 of file DistributionMoments.cpp.
References reset().
void DistributionMoments::compute | ( | const std::vector< OpalParticle >::const_iterator & | first, |
const std::vector< OpalParticle >::const_iterator & | last | ||
) |
Definition at line 41 of file DistributionMoments.cpp.
References computeStatistics().
Referenced by LossDataSink::saveH5().
void DistributionMoments::compute | ( | PartBunchBase< double, 3 > const & | bunch | ) |
Definition at line 36 of file DistributionMoments.cpp.
References PartBunchBase< T, Dim >::begin(), computeStatistics(), and PartBunchBase< T, Dim >::end().
void DistributionMoments::computeMeanKineticEnergy | ( | PartBunchBase< double, 3 > const & | bunch | ) |
Definition at line 190 of file DistributionMoments.cpp.
References allreduce(), Util::getKineticEnergy(), PartBunchBase< T, Dim >::getLocalNum(), and meanKineticEnergy_m.
|
private |
Definition at line 48 of file DistributionMoments.cpp.
References allreduce(), centroid_m, Util::getGamma(), OpalParticle::getMass(), OpalParticle::getP(), OpalParticle::getTime(), isParticleExcluded(), meanGamma_m, meanKineticEnergy_m, meanP_m, meanR_m, meanTime_m, and totalNumParticles_m.
Referenced by computeStatistics().
|
private |
Definition at line 104 of file DistributionMoments.cpp.
References allreduce(), centroid_m, computeMeans(), fillMembers(), OpalParticle::getCharge(), Util::getKineticEnergy(), OpalParticle::getMass(), OpalParticle::getP(), OpalParticle::getTime(), isParticleExcluded(), meanKineticEnergy_m, meanTime_m, pow(), reset(), and totalNumParticles_m.
Referenced by compute().
|
private |
Definition at line 144 of file DistributionMoments.cpp.
References centroid_m, geometricEps_m, halo_m, Options::haloShift, max(), meanGamma_m, meanP_m, meanR_m, moments_m, normalizedEps_m, pow(), sqrt(), stdKineticEnergy_m, stdP_m, stdR_m, stdRP_m, stdTime_m, totalCharge_m, totalMass_m, and totalNumParticles_m.
Referenced by computeStatistics().
|
inline |
Definition at line 180 of file DistributionMoments.h.
References DDx_m.
|
inline |
Definition at line 192 of file DistributionMoments.h.
References DDy_m.
|
inline |
Definition at line 174 of file DistributionMoments.h.
References Dx_m.
|
inline |
Definition at line 186 of file DistributionMoments.h.
References Dy_m.
|
inline |
Definition at line 126 of file DistributionMoments.h.
References geometricEps_m.
Referenced by LossDataSink::saveH5().
|
inline |
Definition at line 138 of file DistributionMoments.h.
References halo_m.
|
inline |
Definition at line 156 of file DistributionMoments.h.
References meanGamma_m.
|
inline |
Definition at line 162 of file DistributionMoments.h.
References meanKineticEnergy_m.
Referenced by LossDataSink::saveH5().
|
inline |
Definition at line 108 of file DistributionMoments.h.
References meanP_m.
Referenced by LossDataSink::saveH5().
|
inline |
Definition at line 96 of file DistributionMoments.h.
References meanR_m.
Referenced by LossDataSink::saveH5().
|
inline |
Definition at line 144 of file DistributionMoments.h.
References meanTime_m.
Referenced by LossDataSink::saveH5().
|
inline |
Definition at line 120 of file DistributionMoments.h.
References normalizedEps_m.
Referenced by LossDataSink::saveH5().
|
inline |
Definition at line 114 of file DistributionMoments.h.
References stdP_m.
Referenced by LossDataSink::saveH5().
|
inline |
Definition at line 102 of file DistributionMoments.h.
References stdR_m.
Referenced by LossDataSink::saveH5().
|
inline |
Definition at line 132 of file DistributionMoments.h.
References stdRP_m.
|
inline |
Definition at line 168 of file DistributionMoments.h.
References stdKineticEnergy_m.
Referenced by LossDataSink::saveH5().
|
inline |
Definition at line 150 of file DistributionMoments.h.
References stdTime_m.
Referenced by LossDataSink::saveH5().
|
inline |
Definition at line 198 of file DistributionMoments.h.
References totalCharge_m.
Referenced by LossDataSink::saveH5().
|
inline |
Definition at line 204 of file DistributionMoments.h.
References totalMass_m.
Referenced by LossDataSink::saveH5().
|
inline |
Definition at line 210 of file DistributionMoments.h.
References totalNumParticles_m.
|
private |
Definition at line 227 of file DistributionMoments.cpp.
References Options::amr, OpalParticle::getId(), OpalData::getInstance(), and OpalData::isInOPALCyclMode().
Referenced by computeMeans(), and computeStatistics().
|
private |
Definition at line 202 of file DistributionMoments.cpp.
References begin(), centroid_m, DDx_m, DDy_m, Dx_m, Dy_m, end(), geometricEps_m, halo_m, meanKineticEnergy_m, meanP_m, meanR_m, moments_m, normalizedEps_m, stdKineticEnergy_m, stdP_m, stdR_m, stdRP_m, totalCharge_m, totalMass_m, and totalNumParticles_m.
Referenced by computeStatistics(), and DistributionMoments().
|
private |
Definition at line 87 of file DistributionMoments.h.
Referenced by computeMeans(), computeStatistics(), fillMembers(), and reset().
|
private |
Definition at line 84 of file DistributionMoments.h.
|
private |
Definition at line 86 of file DistributionMoments.h.
|
private |
Definition at line 83 of file DistributionMoments.h.
|
private |
Definition at line 85 of file DistributionMoments.h.
|
private |
Definition at line 75 of file DistributionMoments.h.
Referenced by fillMembers(), getGeometricEmittance(), and reset().
|
private |
Definition at line 76 of file DistributionMoments.h.
Referenced by fillMembers(), getHalo(), and reset().
|
private |
Definition at line 82 of file DistributionMoments.h.
Referenced by computeMeans(), fillMembers(), and getMeanGamma().
|
private |
Definition at line 80 of file DistributionMoments.h.
Referenced by computeMeanKineticEnergy(), computeMeans(), computeStatistics(), getMeanKineticEnergy(), and reset().
|
private |
Definition at line 70 of file DistributionMoments.h.
Referenced by computeMeans(), fillMembers(), getMeanMomentum(), and reset().
|
private |
Definition at line 69 of file DistributionMoments.h.
Referenced by computeMeans(), fillMembers(), getMeanPosition(), and reset().
|
private |
Definition at line 78 of file DistributionMoments.h.
Referenced by computeMeans(), computeStatistics(), and getMeanTime().
|
private |
Definition at line 88 of file DistributionMoments.h.
Referenced by fillMembers(), and reset().
|
private |
Definition at line 74 of file DistributionMoments.h.
Referenced by fillMembers(), getNormalizedEmittance(), and reset().
|
private |
Definition at line 81 of file DistributionMoments.h.
Referenced by fillMembers(), getStdKineticEnergy(), and reset().
|
private |
Definition at line 72 of file DistributionMoments.h.
Referenced by fillMembers(), getStandardDeviationMomentum(), and reset().
|
private |
Definition at line 71 of file DistributionMoments.h.
Referenced by fillMembers(), getStandardDeviationPosition(), and reset().
|
private |
Definition at line 73 of file DistributionMoments.h.
Referenced by fillMembers(), getStandardDeviationRP(), and reset().
|
private |
Definition at line 79 of file DistributionMoments.h.
Referenced by fillMembers(), and getStdTime().
|
private |
Definition at line 90 of file DistributionMoments.h.
Referenced by fillMembers(), getTotalCharge(), and reset().
|
private |
Definition at line 91 of file DistributionMoments.h.
Referenced by fillMembers(), getTotalMass(), and reset().
|
private |
Definition at line 92 of file DistributionMoments.h.
Referenced by computeMeans(), computeStatistics(), fillMembers(), getTotalNumParticles(), and reset().