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

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
 

Detailed Description

This class defines the linear transfer map and field for the Dipole beam line elment.

Author
Ji Qiang

Data Type Documentation

◆ dipoleclass::dipole

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

Function/Subroutine Documentation

◆ construct_dipole()

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 
)

◆ getfld_dipole()

subroutine dipoleclass::getfld_dipole ( double precision, dimension(4), intent(in)  pos,
double precision, dimension(6), intent(out)  extfld,
type (dipole), intent(in)  this 
)
Here is the caller graph for this function:

◆ getflderr_dipole()

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.

Here is the caller graph for this function:

◆ getfldt_dipole()

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.

Here is the caller graph for this function:

◆ getfldtlinear_dipole()

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.

◆ getfldtold_dipole()

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 
)

◆ getparam1_dipole()

subroutine dipoleclass::getparam1_dipole ( type (dipole), intent(in)  this,
integer, intent(in)  i,
double precision, intent(out)  blparam 
)

◆ getparam2_dipole()

subroutine dipoleclass::getparam2_dipole ( type (dipole), intent(in)  this,
double precision, dimension(:), intent(out)  blparams 
)

◆ getparam3_dipole()

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 
)

◆ intfunc1_dipole()

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

◆ maplinear_dipole()

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.

Here is the call graph for this function:

◆ rk6i_dipole()

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

◆ setparam1_dipole()

subroutine dipoleclass::setparam1_dipole ( type (dipole), intent(inout)  this,
integer, intent(in)  i,
double precision, intent(in)  value 
)

◆ setparam2_dipole()

subroutine dipoleclass::setparam2_dipole ( type (dipole), intent(inout)  this,
double precision, dimension(:), intent(in)  values 
)

◆ setparam3_dipole()

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 
)

Variable Documentation

◆ nparam

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