Class for emittance conversion from (r,r') to (x,x'). More...
#include <trajectorydiagnostics.hpp>

Public Member Functions | |
EmittanceConv (uint32_t n, uint32_t m, const std::vector< double > &r, const std::vector< double > &rp, const std::vector< double > &ap, const std::vector< double > &I, uint32_t rotn=100, double xmin=std::numeric_limits< double >::quiet_NaN(), double xpmin=std::numeric_limits< double >::quiet_NaN(), double xmax=std::numeric_limits< double >::quiet_NaN(), double xpmax=std::numeric_limits< double >::quiet_NaN()) | |
Constructor for (x,x') emittance data and statistics from (r,r') data. More... | |
~EmittanceConv () | |
Destructor for emittance converter. More... | |
const Histogram2D & | histogram (void) const |
Get a const reference to histogram built. More... | |
void | free_histogram (void) |
Free emittance histogram. More... | |
![]() | |
Emittance () | |
Default constructor for emittance statistics. More... | |
Emittance (const std::vector< double > &x, const std::vector< double > &xp, const std::vector< double > &I) | |
Constructor for emittance statistics from trajectory diagnostic data columns x, xp and current I. More... | |
Emittance (const std::vector< double > &x, const std::vector< double > &xp) | |
Constructor for emittance statistics from trajectory diagnostic data columns x, xp, assuming even weights. More... | |
Emittance (size_t xsize, size_t xpsize, const double range[4], const std::vector< double > &I) | |
Constructor for emittance statistics from trajectory diagnostic data in mesh form. More... | |
double | current (void) const |
Return current of beam trajectories used to calculate the emittance. More... | |
double | xave (void) const |
Return average position (center location) of emittance distribution. More... | |
double | xpave (void) const |
Return average angle (center location) of emittance distribution. More... | |
double | alpha (void) const |
Return ![]() | |
double | beta (void) const |
Return ![]() | |
double | gamma (void) const |
Return ![]() | |
double | epsilon (void) const |
Return rms emittance. More... | |
double | angle (void) const |
Return angle of fitted rms ellipse. More... | |
double | rmajor (void) const |
Return major radius of fitted rms ellipse. More... | |
double | rminor (void) const |
Return minor radius of fitted rms ellipse. More... | |
void | debug_print (std::ostream &os) const |
Print debugging information to os. More... | |
Additional Inherited Members | |
![]() | |
double | _Isum |
double | _xave |
double | _xpave |
double | _x2 |
double | _xp2 |
double | _xxp |
double | _alpha |
double | _beta |
double | _gamma |
double | _epsilon |
double | _angle |
double | _rmajor |
double | _rminor |
Detailed Description
Class for emittance conversion from (r,r') to (x,x').
Constructor & Destructor Documentation
◆ EmittanceConv()
EmittanceConv::EmittanceConv | ( | uint32_t | n, |
uint32_t | m, | ||
const std::vector< double > & | r, | ||
const std::vector< double > & | rp, | ||
const std::vector< double > & | ap, | ||
const std::vector< double > & | I, | ||
uint32_t | rotn = 100 , |
||
double | xmin = std::numeric_limits<double>::quiet_NaN() , |
||
double | xpmin = std::numeric_limits<double>::quiet_NaN() , |
||
double | xmax = std::numeric_limits<double>::quiet_NaN() , |
||
double | xpmax = std::numeric_limits<double>::quiet_NaN() |
||
) |
Constructor for (x,x') emittance data and statistics from (r,r') data.
EmittanceConv class reads particle diagnostic data arrays for r (radius), rp (radial angle), ap (skew angle) and I (current) and builds (x,x') data in a grid array of size n by m. Here the skew angle is , where
is the velocity to the direction of beam propagation. The conversion is done by rotating each trajectory diagnostic point around the axis in rotn steps (defaults to 100). The output grid size can be forced by setting (xmin,xpmin,xmax,xpmax) variables, otherwise the grid is autotomatically sized to fit all data.
The emittance statistics is built using original data and not the gridded data for maximized precision.
◆ ~EmittanceConv()
EmittanceConv::~EmittanceConv | ( | ) |
Destructor for emittance converter.
Member Function Documentation
◆ free_histogram()
|
inline |
Free emittance histogram.
◆ histogram()
|
inline |
Get a const reference to histogram built.
The documentation for this class was generated from the following files: