OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
Harmonics< Value_type, Size_type > Class Template Reference

#include <Harmonics.h>

Public Types

enum  START { SECTOR_ENTRANCE, SECTOR_CENTER, SECTOR_EXIT, VALLEY_CENTER }
 Defines starting point of computation. More...
 
typedef Value_type value_type
 Type of variable. More...
 
typedef Size_type size_type
 Type of size. More...
 
typedef
boost::numeric::ublas::matrix
< value_type
matrix_type
 Type for specifying matrices. More...
 

Public Member Functions

 Harmonics (value_type, value_type, value_type, size_type, size_type, size_type, value_type, value_type)
 Constructor. More...
 
std::vector< matrix_typecomputeMap (const std::string, const std::string, const int)
 Compute all maps of the cyclotron using harmonics. More...
 
std::pair< value_type, value_typegetTunes ()
 Returns the radial and vertical tunes. More...
 
value_type getRadius ()
 Returns the radius. More...
 
value_type getPathLength ()
 Returns step size. More...
 

Private Member Functions

matrix_type __Mix6 (value_type, value_type, value_type)
 Compute some matrix (ask Dr. C. Baumgarten) More...
 
matrix_type __Md6 (value_type, value_type)
 Compute some matrix (ask Dr. C. Baumgarten) More...
 
matrix_type __Mb6 (value_type, value_type, value_type)
 Compute some matrix (ask Dr. C. Baumgarten) More...
 
matrix_type __Mb6k (value_type, value_type, value_type, value_type)
 Compute some matrix (ask Dr. C. Baumgarten) More...
 

Private Attributes

value_type wo_m
 Stores the nominal orbital frequency in Hz. More...
 
value_type Emin_m
 Stores the minimum energy in MeV. More...
 
value_type Emax_m
 Stores the maximum energy in MeV. More...
 
size_type nth_m
 Stores the number of angle splits. More...
 
size_type nr_m
 Stores the number of radial splits. More...
 
size_type nSector_m
 Stores the number of sectors. More...
 
std::pair< value_type, value_typetunes_m
 Stores the tunes (radial, vertical) More...
 
value_type radius_m
 Stores the radius. More...
 
value_type ds_m
 Stores the path length. More...
 
value_type E_m
 Stores the energy for which we perform the computation. More...
 
value_type E0_m
 Stores the potential energy [MeV]. More...
 

Detailed Description

template<typename Value_type, typename Size_type>
class Harmonics< Value_type, Size_type >

Definition at line 26 of file Harmonics.h.

Member Typedef Documentation

template<typename Value_type , typename Size_type >
typedef boost::numeric::ublas::matrix<value_type> Harmonics< Value_type, Size_type >::matrix_type

Type for specifying matrices.

Definition at line 34 of file Harmonics.h.

template<typename Value_type , typename Size_type >
typedef Size_type Harmonics< Value_type, Size_type >::size_type

Type of size.

Definition at line 32 of file Harmonics.h.

template<typename Value_type , typename Size_type >
typedef Value_type Harmonics< Value_type, Size_type >::value_type

Type of variable.

Definition at line 30 of file Harmonics.h.

Member Enumeration Documentation

template<typename Value_type , typename Size_type >
enum Harmonics::START

Defines starting point of computation.

Enumerator
SECTOR_ENTRANCE 
SECTOR_CENTER 
SECTOR_EXIT 
VALLEY_CENTER 

Definition at line 38 of file Harmonics.h.

Constructor & Destructor Documentation

template<typename Value_type , typename Size_type >
Harmonics< Value_type, Size_type >::Harmonics ( value_type  wo,
value_type  Emin,
value_type  Emax,
size_type  nth,
size_type  nr,
size_type  nSector,
value_type  E,
value_type  E0 
)

Constructor.

Parameters
wois the nominal orbital frequency in Hz
Eminis the minimal energy in MeV
Emaxis the maximal energy in MeV
nthis the number of angle steps
nris the number of radial steps
nSectoris the number of sectors
Eis the kinetic energy [MeV]
E0is the potential energy [MeV]

Definition at line 110 of file Harmonics.h.

Member Function Documentation

template<typename Value_type , typename Size_type >
Harmonics< Value_type, Size_type >::matrix_type Harmonics< Value_type, Size_type >::__Mb6 ( value_type  phi,
value_type  r,
value_type  gam2 
)
private

Compute some matrix (ask Dr. C. Baumgarten)

Definition at line 486 of file Harmonics.h.

References cos(), and sin().

Here is the call graph for this function:

template<typename Value_type , typename Size_type >
Harmonics< Value_type, Size_type >::matrix_type Harmonics< Value_type, Size_type >::__Mb6k ( value_type  phi,
value_type  r,
value_type  k,
value_type  gam2 
)
private

Compute some matrix (ask Dr. C. Baumgarten)

Definition at line 505 of file Harmonics.h.

References Physics::c, cos(), cosh(), fabs(), sign(), sin(), sinh(), sqrt(), and value_type().

Here is the call graph for this function:

template<typename Value_type , typename Size_type >
Harmonics< Value_type, Size_type >::matrix_type Harmonics< Value_type, Size_type >::__Md6 ( value_type  l,
value_type  gam2 
)
private

Compute some matrix (ask Dr. C. Baumgarten)

Definition at line 475 of file Harmonics.h.

template<typename Value_type , typename Size_type >
Harmonics< Value_type, Size_type >::matrix_type Harmonics< Value_type, Size_type >::__Mix6 ( value_type  tx,
value_type  ty,
value_type  r 
)
private

Compute some matrix (ask Dr. C. Baumgarten)

Definition at line 465 of file Harmonics.h.

template<typename Value_type , typename Size_type >
std::vector< typename Harmonics< Value_type, Size_type >::matrix_type > Harmonics< Value_type, Size_type >::computeMap ( const std::string  filename1,
const std::string  filename2,
const int  startmod 
)

Compute all maps of the cyclotron using harmonics.

Parameters
filename1name of file 1
filename2name of file 2
startmod(in center of valley, start of sector, ...)

Definition at line 116 of file Harmonics.h.

References acos(), Physics::alpha, atan(), Physics::c, cos(), cosh(), cot(), endl(), fabs(), Hypervolume::n, prod(), Attrib::Distribution::R, sin(), sinh(), sqrt(), tan(), Physics::two_pi, and value_type().

Here is the call graph for this function:

template<typename Value_type , typename Size_type >
Harmonics< Value_type, Size_type >::value_type Harmonics< Value_type, Size_type >::getPathLength ( )
inline

Returns step size.

Definition at line 455 of file Harmonics.h.

template<typename Value_type , typename Size_type >
Harmonics< Value_type, Size_type >::value_type Harmonics< Value_type, Size_type >::getRadius ( )
inline

Returns the radius.

Definition at line 450 of file Harmonics.h.

template<typename Value_type , typename Size_type >
std::pair< Value_type, Value_type > Harmonics< Value_type, Size_type >::getTunes ( )
inline

Returns the radial and vertical tunes.

Definition at line 445 of file Harmonics.h.

Member Data Documentation

template<typename Value_type , typename Size_type >
value_type Harmonics< Value_type, Size_type >::ds_m
private

Stores the path length.

Definition at line 89 of file Harmonics.h.

template<typename Value_type , typename Size_type >
value_type Harmonics< Value_type, Size_type >::E0_m
private

Stores the potential energy [MeV].

Definition at line 93 of file Harmonics.h.

template<typename Value_type , typename Size_type >
value_type Harmonics< Value_type, Size_type >::E_m
private

Stores the energy for which we perform the computation.

Definition at line 91 of file Harmonics.h.

template<typename Value_type , typename Size_type >
value_type Harmonics< Value_type, Size_type >::Emax_m
private

Stores the maximum energy in MeV.

Definition at line 77 of file Harmonics.h.

template<typename Value_type , typename Size_type >
value_type Harmonics< Value_type, Size_type >::Emin_m
private

Stores the minimum energy in MeV.

Definition at line 75 of file Harmonics.h.

template<typename Value_type , typename Size_type >
size_type Harmonics< Value_type, Size_type >::nr_m
private

Stores the number of radial splits.

Definition at line 81 of file Harmonics.h.

template<typename Value_type , typename Size_type >
size_type Harmonics< Value_type, Size_type >::nSector_m
private

Stores the number of sectors.

Definition at line 83 of file Harmonics.h.

template<typename Value_type , typename Size_type >
size_type Harmonics< Value_type, Size_type >::nth_m
private

Stores the number of angle splits.

Definition at line 79 of file Harmonics.h.

template<typename Value_type , typename Size_type >
value_type Harmonics< Value_type, Size_type >::radius_m
private

Stores the radius.

Definition at line 87 of file Harmonics.h.

template<typename Value_type , typename Size_type >
std::pair<value_type, value_type> Harmonics< Value_type, Size_type >::tunes_m
private

Stores the tunes (radial, vertical)

Definition at line 85 of file Harmonics.h.

template<typename Value_type , typename Size_type >
value_type Harmonics< Value_type, Size_type >::wo_m
private

Stores the nominal orbital frequency in Hz.

Definition at line 73 of file Harmonics.h.


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