IMPACT T
Data Types | Functions/Subroutines | Variables
multipoleclass Module Reference

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
 

Detailed Description

This class defines the linear transfer map and field for the multipole (sextupole, octupole, decapole) beam line elment.

Author
Ji Qiang

Data Type Documentation

◆ multipoleclass::multipole

type multipoleclass::multipole
Data Fields
integer itype
double precision length
integer mapstp
integer nseg
double precision, dimension(nparam) param

Function/Subroutine Documentation

◆ construct_multipole()

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 
)

◆ getfld_multipole()

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.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getflderr_multipole()

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.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getflderrt_multipole()

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.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getfldfrg_multipole()

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.

Here is the caller graph for this function:

◆ getparam1_multipole()

subroutine multipoleclass::getparam1_multipole ( type (multipole), intent(in)  this,
integer, intent(in)  i,
double precision, intent(out)  blparam 
)

◆ getparam2_multipole()

subroutine multipoleclass::getparam2_multipole ( type (multipole), intent(in)  this,
double precision, dimension(:), intent(out)  blparams 
)

◆ getparam3_multipole()

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 
)

◆ intfunc1_multipole()

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 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ maplinear_multipole()

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 
)
Here is the call graph for this function:

◆ rk6i_multipole()

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 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setparam1_multipole()

subroutine multipoleclass::setparam1_multipole ( type (multipole), intent(inout)  this,
integer, intent(in)  i,
double precision, intent(in)  value 
)

◆ setparam2_multipole()

subroutine multipoleclass::setparam2_multipole ( type (multipole), intent(inout)  this,
double precision, dimension(:), intent(in)  values 
)

◆ setparam3_multipole()

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 
)

Variable Documentation

◆ nparam

integer, parameter, private multipoleclass::nparam = 10
private