IMPACT T
|
This class defines the linear transfer map and field for the Dipole beam line elment. More...
Data Types | |
type | dipole |
interface | getparam_dipole |
interface | setparam_dipole |
Functions/Subroutines | |
subroutine | construct_dipole (this, numseg, nmpstp, type, blength) |
subroutine | setparam1_dipole (this, i, value) |
subroutine | setparam2_dipole (this, values) |
subroutine | setparam3_dipole (this, numseg, nmpstp, type, blength) |
subroutine | getparam1_dipole (this, i, blparam) |
subroutine | getparam2_dipole (this, blparams) |
subroutine | getparam3_dipole (this, blength, bnseg, bmapstp, btype) |
subroutine | maplinear_dipole (t, tau, xm, this, refpt, Bchg, Bmass) |
The linear map calculation for the dipole is not correct. More... | |
subroutine | rk6i_dipole (h, ns, t, y, nvar, this, Bchg, Bmass) |
subroutine | intfunc1_dipole (t, y, f, this, Bchg, Bmass) |
subroutine | getflderr_dipole (pos, extfld, this, dx, dy, anglex, angley |
get external field with displacement and rotation errors. More... | |
subroutine | getfld_dipole (pos, extfld, this) |
subroutine | getfldtlinear_dipole (pos, extfld, this, fldata) |
get external field without displacement and rotation errors. More... | |
subroutine | getfldtold_dipole (pos, extfld, this, fldata) |
subroutine | getfldt_dipole (pos, extfld, this, fldata) |
get external dipole field without displacement and rotation errors. here the fringe field of dipole is approximated using an Enge function. More... | |
Variables | |
integer, parameter, private | nparam = 10 |
This class defines the linear transfer map and field for the Dipole beam line elment.
type dipoleclass::dipole |
Data Fields | ||
---|---|---|
integer | itype | |
double precision | length | |
integer | mapstp | |
integer | nseg | |
double precision, dimension(nparam) | param |
subroutine dipoleclass::construct_dipole | ( | type (dipole), intent(out) | this, |
integer, intent(in) | numseg, | ||
integer, intent(in) | nmpstp, | ||
integer, intent(in) | type, | ||
double precision, intent(in) | blength | ||
) |
subroutine dipoleclass::getfld_dipole | ( | double precision, dimension(4), intent(in) | pos, |
double precision, dimension(6), intent(out) | extfld, | ||
type (dipole), intent(in) | this | ||
) |
subroutine dipoleclass::getflderr_dipole | ( | double precision, dimension(4), intent(in) | pos, |
double precision, dimension(6), intent(out) | extfld, | ||
type (dipole), intent(in) | this, | ||
double precision, intent(in) | dx, | ||
double precision, intent(in) | dy, | ||
double precision, intent(in) | anglex, | ||
double precision, intent(in) | angley | ||
) |
get external field with displacement and rotation errors.
subroutine dipoleclass::getfldt_dipole | ( | double precision, dimension(4), intent(in) | pos, |
double precision, dimension(6), intent(out) | extfld, | ||
type (dipole), intent(in) | this, | ||
type (fielddata), intent(in) | fldata | ||
) |
get external dipole field without displacement and rotation errors. here the fringe field of dipole is approximated using an Enge function.
subroutine dipoleclass::getfldtlinear_dipole | ( | double precision, dimension(4), intent(in) | pos, |
double precision, dimension(6), intent(out) | extfld, | ||
type (dipole), intent(in) | this, | ||
type (fielddata), intent(in) | fldata | ||
) |
get external field without displacement and rotation errors.
subroutine dipoleclass::getfldtold_dipole | ( | double precision, dimension(4), intent(in) | pos, |
double precision, dimension(6), intent(out) | extfld, | ||
type (dipole), intent(in) | this, | ||
type (fielddata), intent(in) | fldata | ||
) |
subroutine dipoleclass::getparam1_dipole | ( | type (dipole), intent(in) | this, |
integer, intent(in) | i, | ||
double precision, intent(out) | blparam | ||
) |
subroutine dipoleclass::getparam2_dipole | ( | type (dipole), intent(in) | this, |
double precision, dimension(:), intent(out) | blparams | ||
) |
subroutine dipoleclass::getparam3_dipole | ( | type (dipole), intent(in) | this, |
double precision, intent(out) | blength, | ||
integer, intent(out) | bnseg, | ||
integer, intent(out) | bmapstp, | ||
integer, intent(out) | btype | ||
) |
subroutine dipoleclass::intfunc1_dipole | ( | double precision, intent(in) | t, |
double precision, dimension(:), intent(in) | y, | ||
double precision, dimension(:), intent(out) | f, | ||
type (dipole), intent(in) | this, | ||
double precision, intent(in) | Bchg, | ||
double precision, intent(in) | Bmass | ||
) |
subroutine dipoleclass::maplinear_dipole | ( | double precision, intent(in) | t, |
double precision, intent(in) | tau, | ||
double precision, dimension(6,6), intent(out) | xm, | ||
type (dipole), intent(in) | this, | ||
double precision, dimension(6), intent(inout) | refpt, | ||
double precision, intent(in) | Bchg, | ||
double precision, intent(in) | Bmass | ||
) |
The linear map calculation for the dipole is not correct.
subroutine dipoleclass::rk6i_dipole | ( | 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 (dipole), intent(in) | this, | ||
double precision, intent(in) | Bchg, | ||
double precision, intent(in) | Bmass | ||
) |
subroutine dipoleclass::setparam1_dipole | ( | type (dipole), intent(inout) | this, |
integer, intent(in) | i, | ||
double precision, intent(in) | value | ||
) |
subroutine dipoleclass::setparam2_dipole | ( | type (dipole), intent(inout) | this, |
double precision, dimension(:), intent(in) | values | ||
) |
subroutine dipoleclass::setparam3_dipole | ( | type (dipole), intent(inout) | this, |
integer, intent(in) | numseg, | ||
integer, intent(in) | nmpstp, | ||
integer, intent(in) | type, | ||
double precision, intent(in) | blength | ||
) |
|
private |