#include <trajectorydiagnostics.hpp>
Inheritance diagram for EmittanceConv:
Public Member Functions | |
EmittanceConv (int n, int m, const std::vector< double > &r, const std::vector< double > &rp, const std::vector< double > &ap, const std::vector< double > &I) | |
Constructor for (x,x') emittance data and statistics from (r,r') data. | |
~EmittanceConv () | |
Destructor for emittance converter. | |
const Histogram2D & | histogram (void) const |
Get a const reference to histogram built. | |
void | free_histogram (void) |
Free emittance histogram. |
The emittance converted takes the
EmittanceConv::EmittanceConv | ( | int | n, | |
int | m, | |||
const std::vector< double > & | r, | |||
const std::vector< double > & | rp, | |||
const std::vector< double > & | ap, | |||
const std::vector< double > & | I | |||
) |
Constructor for (x,x') emittance data and statistics from (r,r') data.
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 based on rotating each trajectory diagnostic points around the axis in 100 steps (to be made adjustable?).
The emittance statistics is built using original data and not the gridded data for maximized precision.
EmittanceConv::~EmittanceConv | ( | ) |
Destructor for emittance converter.
void EmittanceConv::free_histogram | ( | void | ) | [inline] |
Free emittance histogram.
const Histogram2D& EmittanceConv::histogram | ( | void | ) | const [inline] |
Get a const reference to histogram built.