Public Member Functions | List of all members
EmittanceConv Class Reference

Class for emittance conversion from (r,r') to (x,x') More...

#include <trajectorydiagnostics.hpp>

Inheritance diagram for EmittanceConv:
Emittance

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. More...
 
 ~EmittanceConv ()
 Destructor for emittance converter. More...
 
const Histogram2Dhistogram (void) const
 Get a const reference to histogram built. More...
 
void free_histogram (void)
 Free emittance histogram. More...
 
- Public Member Functions inherited from Emittance
 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 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 $\alpha$ of emittance distribution. More...
 
double beta (void) const
 Return $\beta$ of emittance distribution. More...
 
double gamma (void) const
 Return $\gamma$ of emittance distribution. More...
 
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

- Protected Attributes inherited from Emittance
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')

The emittance converted takes the

Constructor & Destructor Documentation

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 $ \frac{r\omega}{v_z} $, where $ v_z $ 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.

Member Function Documentation

void EmittanceConv::free_histogram ( void  )
inline

Free emittance histogram.

const Histogram2D& EmittanceConv::histogram ( void  ) const
inline

Get a const reference to histogram built.


The documentation for this class was generated from the following file: