IMPACT T
|
This class defines the linear transfer map and field for the multipole (sextupole, octupole, decapole) beam line elment. More...
Data Types | |
interface | getparam_multipole |
type | multipole |
interface | setparam_multipole |
Functions/Subroutines | |
subroutine | construct_multipole (this, numseg, nmpstp, type, blength) |
subroutine | setparam1_multipole (this, i, value) |
subroutine | setparam2_multipole (this, values) |
subroutine | setparam3_multipole (this, numseg, nmpstp, type, blength) |
subroutine | getparam1_multipole (this, i, blparam) |
subroutine | getparam2_multipole (this, blparams) |
subroutine | getparam3_multipole (this, blength, bnseg, bmapstp, btype) |
subroutine | maplinear_multipole (t, tau, xm, this, refpt, Bchg, Bmass) |
subroutine | rk6i_multipole (h, ns, t, y, nvar, this, Bchg, Bmass) |
subroutine | intfunc1_multipole (t, y, f, this, Bchg, Bmass) |
subroutine | getflderr_multipole (pos, extfld, this, dx, dy, anglex, angley, anglez) |
get external field with displacement and rotation errors. More... | |
subroutine | getflderrt_multipole (pos, extfld, this) |
get external field with displacement and rotation errors. More... | |
subroutine | getfld_multipole (pos, extfld, this) |
get external field without displacement and rotation errors. More... | |
subroutine | getfldfrg_multipole (zz, this, bgrad) |
interpolate the field from the SC rf cavity onto bunch location. More... | |
Variables | |
integer, parameter, private | nparam = 10 |
This class defines the linear transfer map and field for the multipole (sextupole, octupole, decapole) beam line elment.
type multipoleclass::multipole |
Data Fields | ||
---|---|---|
integer | itype | |
double precision | length | |
integer | mapstp | |
integer | nseg | |
double precision, dimension(nparam) | param |
subroutine multipoleclass::construct_multipole | ( | type (multipole), intent(out) | this, |
integer, intent(in) | numseg, | ||
integer, intent(in) | nmpstp, | ||
integer, intent(in) | type, | ||
double precision, intent(in) | blength | ||
) |
subroutine multipoleclass::getfld_multipole | ( | double precision, dimension(4), intent(in) | pos, |
double precision, dimension(6), intent(out) | extfld, | ||
type (multipole), intent(in) | this | ||
) |
get external field without displacement and rotation errors.
subroutine multipoleclass::getflderr_multipole | ( | double precision, dimension(4), intent(in) | pos, |
double precision, dimension(6), intent(out) | extfld, | ||
type (multipole), intent(in) | this, | ||
double precision, intent(in) | dx, | ||
double precision, intent(in) | dy, | ||
double precision, intent(in) | anglex, | ||
double precision, intent(in) | angley, | ||
double precision, intent(in) | anglez | ||
) |
get external field with displacement and rotation errors.
subroutine multipoleclass::getflderrt_multipole | ( | double precision, dimension(4), intent(in) | pos, |
double precision, dimension(6), intent(out) | extfld, | ||
type (multipole), intent(in) | this | ||
) |
get external field with displacement and rotation errors.
subroutine multipoleclass::getfldfrg_multipole | ( | double precision, intent(in) | zz, |
type (multipole), intent(in) | this, | ||
double precision, intent(out) | bgrad | ||
) |
interpolate the field from the SC rf cavity onto bunch location.
subroutine multipoleclass::getparam1_multipole | ( | type (multipole), intent(in) | this, |
integer, intent(in) | i, | ||
double precision, intent(out) | blparam | ||
) |
subroutine multipoleclass::getparam2_multipole | ( | type (multipole), intent(in) | this, |
double precision, dimension(:), intent(out) | blparams | ||
) |
subroutine multipoleclass::getparam3_multipole | ( | type (multipole), intent(in) | this, |
double precision, intent(out) | blength, | ||
integer, intent(out) | bnseg, | ||
integer, intent(out) | bmapstp, | ||
integer, intent(out) | btype | ||
) |
subroutine multipoleclass::intfunc1_multipole | ( | double precision, intent(in) | t, |
double precision, dimension(:), intent(in) | y, | ||
double precision, dimension(:), intent(out) | f, | ||
type (multipole), intent(in) | this, | ||
double precision, intent(in) | Bchg, | ||
double precision, intent(in) | Bmass | ||
) |
subroutine multipoleclass::maplinear_multipole | ( | double precision, intent(in) | t, |
double precision, intent(in) | tau, | ||
double precision, dimension(6,6), intent(out) | xm, | ||
type (multipole), intent(in) | this, | ||
double precision, dimension(6), intent(inout) | refpt, | ||
double precision, intent(in) | Bchg, | ||
double precision, intent(in) | Bmass | ||
) |
subroutine multipoleclass::rk6i_multipole | ( | double precision, intent(in) | h, |
integer, intent(in) | ns, | ||
double precision, intent(inout) | t, | ||
double precision, dimension(nvar), intent(inout) | y, | ||
integer, intent(in) | nvar, | ||
type (multipole), intent(in) | this, | ||
double precision, intent(in) | Bchg, | ||
double precision, intent(in) | Bmass | ||
) |
subroutine multipoleclass::setparam1_multipole | ( | type (multipole), intent(inout) | this, |
integer, intent(in) | i, | ||
double precision, intent(in) | value | ||
) |
subroutine multipoleclass::setparam2_multipole | ( | type (multipole), intent(inout) | this, |
double precision, dimension(:), intent(in) | values | ||
) |
subroutine multipoleclass::setparam3_multipole | ( | type (multipole), intent(inout) | this, |
integer, intent(in) | numseg, | ||
integer, intent(in) | nmpstp, | ||
integer, intent(in) | type, | ||
double precision, intent(in) | blength | ||
) |
|
private |