| OPAL (Object Oriented Parallel Accelerator Library)
    2021.1.99
    OPAL | 
This class generates the matrices for the one turn matrix of a cyclotron. More...
#include <MapGenerator.h>
| Public Types | |
| typedef Value_type | value_type | 
| Type of variables.  More... | |
| typedef Size_type | size_type | 
| Type for specifying sizes.  More... | |
| typedef Series_type | series_type | 
| Type of truncated power series.  More... | |
| typedef Map_type | map_type | 
| Type of a map.  More... | |
| typedef Hamiltonian_type | hamiltonian_type | 
| Type of the Hamiltonian.  More... | |
| typedef Space_charge_type | space_charge_type | 
| Type of the Hamiltonian representing the space charge.  More... | |
| typedef boost::numeric::ublas::matrix< value_type > | matrix_type | 
| Type for specifying matrices.  More... | |
| typedef std::vector< value_type > | vector_type | 
| Type for specifying vectors.  More... | |
| Public Member Functions | |
| MapGenerator (size_type) | |
| Initialize.  More... | |
| matrix_type | generateMap (const series_type &, value_type, size_type) | 
| Generates a map based on the Hamiltonian for a given angle.  More... | |
| void | combine (std::vector< matrix_type > &, std::vector< matrix_type > &) | 
| Combine given maps.  More... | |
| matrix_type | combine (std::vector< matrix_type > &maps) | 
| matrix_type | getMap () | 
| Returns the one turn map.  More... | |
| std::pair< value_type, value_type > | computeTunes (const matrix_type &map) | 
| Private Attributes | |
| size_type | nMaps_m | 
| Number of maps.  More... | |
| matrix_type | Mturn_m | 
| One-turn matrix.  More... | |
This class generates the matrices for the one turn matrix of a cyclotron.
Definition at line 30 of file MapGenerator.h.
| typedef Hamiltonian_type MapGenerator< Value_type, Size_type, Series_type, Map_type, Hamiltonian_type, Space_charge_type >::hamiltonian_type | 
Type of the Hamiltonian.
Definition at line 42 of file MapGenerator.h.
| typedef Map_type MapGenerator< Value_type, Size_type, Series_type, Map_type, Hamiltonian_type, Space_charge_type >::map_type | 
Type of a map.
Definition at line 40 of file MapGenerator.h.
| typedef boost::numeric::ublas::matrix<value_type> MapGenerator< Value_type, Size_type, Series_type, Map_type, Hamiltonian_type, Space_charge_type >::matrix_type | 
Type for specifying matrices.
Definition at line 47 of file MapGenerator.h.
| typedef Series_type MapGenerator< Value_type, Size_type, Series_type, Map_type, Hamiltonian_type, Space_charge_type >::series_type | 
Type of truncated power series.
Definition at line 38 of file MapGenerator.h.
| typedef Size_type MapGenerator< Value_type, Size_type, Series_type, Map_type, Hamiltonian_type, Space_charge_type >::size_type | 
Type for specifying sizes.
Definition at line 36 of file MapGenerator.h.
| typedef Space_charge_type MapGenerator< Value_type, Size_type, Series_type, Map_type, Hamiltonian_type, Space_charge_type >::space_charge_type | 
Type of the Hamiltonian representing the space charge.
Definition at line 44 of file MapGenerator.h.
| typedef Value_type MapGenerator< Value_type, Size_type, Series_type, Map_type, Hamiltonian_type, Space_charge_type >::value_type | 
Type of variables.
Definition at line 34 of file MapGenerator.h.
| typedef std::vector<value_type> MapGenerator< Value_type, Size_type, Series_type, Map_type, Hamiltonian_type, Space_charge_type >::vector_type | 
Type for specifying vectors.
Definition at line 49 of file MapGenerator.h.
| MapGenerator< Value_type, Size_type, Series_type, Map_type, Hamiltonian_type, Space_charge_type >::MapGenerator | ( | size_type | nMaps | ) | 
| void MapGenerator< Value_type, Size_type, Series_type, Map_type, Hamiltonian_type, Space_charge_type >::combine | ( | std::vector< matrix_type > & | Mscs, | 
| std::vector< matrix_type > & | Mcycs | ||
| ) | 
Combine given maps.
Combines the space charge maps (for each angle one) and the cyclotron maps (for each angle one) to the ont turn map, taking lists of maps
| Mscs | is a list of space charge maps (the higher the index, the higher the angle) | 
| Mcycs | is a list of cyclotron maps (the higher the index, the higher the angle) | 
Definition at line 168 of file MapGenerator.h.
| MapGenerator< Value_type, Size_type, Series_type, Map_type, Hamiltonian_type, Space_charge_type >::matrix_type MapGenerator< Value_type, Size_type, Series_type, Map_type, Hamiltonian_type, Space_charge_type >::combine | ( | std::vector< matrix_type > & | maps | ) | 
Combine given container of maps.
| maps | to be combined. | 
Definition at line 197 of file MapGenerator.h.
References prod().

| std::pair< Value_type, Value_type > MapGenerator< Value_type, Size_type, Series_type, Map_type, Hamiltonian_type, Space_charge_type >::computeTunes | ( | const matrix_type & | map | ) | 
Compute the radial and vertical tune from the map.
| map | from where to compute the tunes. | 
Definition at line 246 of file MapGenerator.h.
References abs(), acos(), arg(), Physics::u_two_pi, and value_type().

| MapGenerator< Value_type, Size_type, Series_type, Map_type, Hamiltonian_type, Space_charge_type >::matrix_type MapGenerator< Value_type, Size_type, Series_type, Map_type, Hamiltonian_type, Space_charge_type >::generateMap | ( | const series_type & | H, | 
| value_type | ds, | ||
| size_type | order | ||
| ) | 
Generates a map based on the Hamiltonian for a given angle.
| H | represents the Hamiltonian | 
| ds | is the step size (angle dependent) | 
| order | is the truncation order of the Taylor series of the exponential function | 
Definition at line 136 of file MapGenerator.h.
References ExpMap().

| MapGenerator< Value_type, Size_type, Series_type, Map_type, Hamiltonian_type, Space_charge_type >::matrix_type MapGenerator< Value_type, Size_type, Series_type, Map_type, Hamiltonian_type, Space_charge_type >::getMap | 
Returns the one turn map.
Definition at line 228 of file MapGenerator.h.
| 
 | private | 
One-turn matrix.
Definition at line 94 of file MapGenerator.h.
| 
 | private | 
Number of maps.
Definition at line 92 of file MapGenerator.h.