43 #ifndef TRAJECTORYDIAGNOSTICS_HPP
44 #define TRAJECTORYDIAGNOSTICS_HPP 1
64 std::vector<double> _data;
90 std::vector<double> &
data(
void ) {
return( _data ); }
94 const std::vector<double> &
data(
void )
const {
return( _data ); }
98 size_t size(
void )
const {
return( _data.size() ); }
106 const double &
operator()(
size_t i )
const {
return( _data[i] ); }
114 const double &
operator[](
size_t i )
const {
return( _data[i] ); }
129 std::vector<TrajectoryDiagnosticColumn> _column;
140 for(
size_t a = 0; a < diag.size(); a++ )
147 for(
size_t a = 0; a < _column.size(); a++ )
148 _column[a].
mirror( axis, level );
166 return( _column.size() );
172 if( _column.size() > 0 )
173 return( _column[0].size() );
186 return( _column[i] );
192 return( _column[i] );
199 return( _column[i](j) );
206 return( _column[i](j) );
212 _column[i].add_data( x );
268 const std::vector<double> &xp,
269 const std::vector<double> &I );
275 const std::vector<double> &xp );
286 Emittance(
size_t xsize,
size_t xpsize,
const double range[4],
287 const std::vector<double> &I );
359 const std::vector<double> &r,
360 const std::vector<double> &rp,
361 const std::vector<double> &ap,
362 const std::vector<double> &I );