|
OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
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.
1.8.5