Public Member Functions |
| Emittance () |
| Default constructor for emittance statistics.
|
| 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.
|
| 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.
|
| 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.
|
double | xave (void) const |
| Return average position (center location) of emittance distribution.
|
double | xpave (void) const |
| Return average angle (center location) of emittance distribution.
|
double | alpha (void) const |
| Return of emittance distribution.
|
double | beta (void) const |
| Return of emittance distribution.
|
double | gamma (void) const |
| Return of emittance distribution.
|
double | epsilon (void) const |
| Return rms emittance.
|
double | angle (void) const |
| Return angle of fitted rms ellipse.
|
double | rmajor (void) const |
| Return major radius of fitted rms ellipse.
|
double | rminor (void) const |
| Return minor radius of fitted rms ellipse.
|
void | debug_print (std::ostream &os) const |
| Print debugging information to os.
|
Class for emittance statistics.
Emittance class does a statistical analysis on the particle distribution and it calculates averages
and
and the expectation values
,
and
. From these it calculates the rms-emittance
and the Twiss parameters
In addition to these physical values, the class calculates the angle of the ellipse
and the half-axis lengths
where
Emittance::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.
The mesh has integer dimensions of (xsize, xpsize) and has the extents defined by range, where range = (xmin, xpmin, xmax, xpmax). Current data at each mesh node is given by vector I, where data is stored in x major order (I[xindex+xpindex*xsize]).