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

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

Data Types

interface  getparam_sol
 
interface  setparam_sol
 
type  sol
 

Functions/Subroutines

subroutine construct_sol (this, numseg, nmpstp, type, blength)
 
subroutine setparam1_sol (this, i, value)
 
subroutine setparam2_sol (this, values)
 
subroutine setparam3_sol (this, numseg, nmpstp, type, blength)
 
subroutine getparam1_sol (this, i, blparam)
 
subroutine getparam2_sol (this, blparams)
 
subroutine getparam3_sol (this, blength, bnseg, bmapstp, btype)
 
subroutine getbgradfld_sol (z, this, b0, bgrad)
 
subroutine getflderr_sol (pos, extfld, this, dx, dy, anglex, angley, anglez)
 get external field with displacement and rotation errors. More...
 
subroutine getfld_sol (pos, extfld, this)
 get external field without displacement and rotation errors and with fringe field of Solenoid. (f(z) = b0 + bb*z^2 + cc*z^4,f(x0)=0,f'(x0)=0) More...
 
subroutine getfldt_sol (pos, extfld, this, fldata)
 get the discrete Br, Bz as a function or "r" at given "z". More...
 

Variables

integer, parameter, private nparam = 9
 

Detailed Description

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

Authors
Ji Qiang

Data Type Documentation

◆ solclass::sol

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

Function/Subroutine Documentation

◆ construct_sol()

subroutine solclass::construct_sol ( type (sol), intent(out)  this,
integer, intent(in)  numseg,
integer, intent(in)  nmpstp,
integer, intent(in)  type,
double precision, intent(in)  blength 
)

◆ getbgradfld_sol()

subroutine solclass::getbgradfld_sol ( double precision, intent(in)  z,
type (sol), intent(in)  this,
double precision, intent(out)  b0,
double precision, intent(out)  bgrad 
)

◆ getfld_sol()

subroutine solclass::getfld_sol ( double precision, dimension(4), intent(in)  pos,
double precision, dimension(6), intent(out)  extfld,
type (sol), intent(in)  this 
)

get external field without displacement and rotation errors and with fringe field of Solenoid. (f(z) = b0 + bb*z^2 + cc*z^4,f(x0)=0,f'(x0)=0)

Here is the caller graph for this function:

◆ getflderr_sol()

subroutine solclass::getflderr_sol ( double precision, dimension(4), intent(in)  pos,
double precision, dimension(6), intent(out)  extfld,
type (sol), 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 caller graph for this function:

◆ getfldt_sol()

subroutine solclass::getfldt_sol ( double precision, dimension(4), intent(in)  pos,
double precision, dimension(6), intent(out)  extfld,
type (sol), intent(in)  this,
type (fielddata), intent(in)  fldata 
)

get the discrete Br, Bz as a function or "r" at given "z".

Here is the caller graph for this function:

◆ getparam1_sol()

subroutine solclass::getparam1_sol ( type (sol), intent(in)  this,
integer, intent(in)  i,
double precision, intent(out)  blparam 
)

◆ getparam2_sol()

subroutine solclass::getparam2_sol ( type (sol), intent(in)  this,
double precision, dimension(:), intent(out)  blparams 
)

◆ getparam3_sol()

subroutine solclass::getparam3_sol ( type (sol), intent(in)  this,
double precision, intent(out)  blength,
integer, intent(out)  bnseg,
integer, intent(out)  bmapstp,
integer, intent(out)  btype 
)

◆ setparam1_sol()

subroutine solclass::setparam1_sol ( type (sol), intent(inout)  this,
integer, intent(in)  i,
double precision, intent(in)  value 
)

◆ setparam2_sol()

subroutine solclass::setparam2_sol ( type (sol), intent(inout)  this,
double precision, dimension(:), intent(in)  values 
)

◆ setparam3_sol()

subroutine solclass::setparam3_sol ( type (sol), 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 solclass::nparam = 9
private