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

This class defines the linear transfer map and RF field for the Sol-RF beam line elment. More...

Data Types

interface  getparam_solrf
 
interface  setparam_solrf
 
type  solrf
 

Functions/Subroutines

subroutine construct_solrf (this, numseg, nmpstp, type, blength)
 
subroutine setparam1_solrf (this, i, value)
 
subroutine setparam2_solrf (this, values)
 
subroutine setparam3_solrf (this, numseg, nmpstp, type, blength)
 
subroutine getparam1_solrf (this, i, blparam)
 
subroutine getparam2_solrf (this, blparams)
 
subroutine getparam3_solrf (this, blength, bnseg, bmapstp, btype)
 
subroutine getaxflde_solrf (z, this, ez1, ezp1, ezpp1)
 interpolate the field from the SolRF rf cavity onto bunch location. More...
 
subroutine getbgradfld_solrf (z, this, b0, bgrad)
 
subroutine getflderr_solrf (pos, extfld, this, dx, dy, anglex, angley,
 get external field with displacement and rotation errors. More...
 
subroutine getfld_solrf (pos, extfld, this)
 get external field without displacement and rotation errors. More...
 
subroutine getfldt_solrf (pos, extfld, this, fldata)
 get external field without displacement and rotation errors. More...
 
subroutine getflderrt_solrf (pos, extfld, this, fldata)
 get external field with displacement and rotation errors. More...
 
subroutine getvecat_solrf (pos, extfld, this, fldata)
 get external field without displacement and rotation errors. More...
 

Variables

integer, parameter, private nparam = 12
 

Detailed Description

This class defines the linear transfer map and RF field for the Sol-RF beam line elment.

Author
Ji Qiang

Data Type Documentation

◆ solrfclass::solrf

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

Function/Subroutine Documentation

◆ construct_solrf()

subroutine solrfclass::construct_solrf ( type (solrf), intent(out)  this,
integer, intent(in)  numseg,
integer, intent(in)  nmpstp,
integer, intent(in)  type,
double precision, intent(in)  blength 
)

◆ getaxflde_solrf()

subroutine solrfclass::getaxflde_solrf ( double precision, intent(in)  z,
type (solrf), intent(in)  this,
double precision, intent(out)  ez1,
double precision, intent(out)  ezp1,
double precision, intent(out)  ezpp1 
)

interpolate the field from the SolRF rf cavity onto bunch location.

Here is the caller graph for this function:

◆ getbgradfld_solrf()

subroutine solrfclass::getbgradfld_solrf ( double precision, intent(in)  z,
type (solrf), intent(in)  this,
double precision, intent(out)  b0,
double precision, intent(out)  bgrad 
)

◆ getfld_solrf()

subroutine solrfclass::getfld_solrf ( double precision, dimension(4), intent(in)  pos,
double precision, dimension(6), intent(out)  extfld,
type (solrf), intent(in)  this 
)

get external field without displacement and rotation errors.

Here is the caller graph for this function:

◆ getflderr_solrf()

subroutine solrfclass::getflderr_solrf ( double precision, dimension(4), intent(in)  pos,
double precision, dimension(6), intent(out)  extfld,
type (solrf), 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:

◆ getflderrt_solrf()

subroutine solrfclass::getflderrt_solrf ( double precision, dimension(4), intent(in)  pos,
double precision, dimension(6), intent(out)  extfld,
type (solrf), intent(in)  this,
type (fielddata), intent(in)  fldata 
)

get external field with displacement and rotation errors.

Here is the caller graph for this function:

◆ getfldt_solrf()

subroutine solrfclass::getfldt_solrf ( double precision, dimension(4), intent(in)  pos,
double precision, dimension(6), intent(out)  extfld,
type (solrf), intent(in)  this,
type (fielddata), intent(in)  fldata 
)

get external field without displacement and rotation errors.

Here is the caller graph for this function:

◆ getparam1_solrf()

subroutine solrfclass::getparam1_solrf ( type (solrf), intent(in)  this,
integer, intent(in)  i,
double precision, intent(out)  blparam 
)

◆ getparam2_solrf()

subroutine solrfclass::getparam2_solrf ( type (solrf), intent(in)  this,
double precision, dimension(:), intent(out)  blparams 
)

◆ getparam3_solrf()

subroutine solrfclass::getparam3_solrf ( type (solrf), intent(in)  this,
double precision, intent(out)  blength,
integer, intent(out)  bnseg,
integer, intent(out)  bmapstp,
integer, intent(out)  btype 
)

◆ getvecat_solrf()

subroutine solrfclass::getvecat_solrf ( double precision, dimension(4), intent(in)  pos,
double precision, dimension(3), intent(out)  extfld,
type (solrf), intent(in)  this,
type (fielddata), intent(in)  fldata 
)

get external field without displacement and rotation errors.

◆ setparam1_solrf()

subroutine solrfclass::setparam1_solrf ( type (solrf), intent(inout)  this,
integer, intent(in)  i,
double precision, intent(in)  value 
)

◆ setparam2_solrf()

subroutine solrfclass::setparam2_solrf ( type (solrf), intent(inout)  this,
double precision, dimension(:), intent(in)  values 
)

◆ setparam3_solrf()

subroutine solrfclass::setparam3_solrf ( type (solrf), 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 solrfclass::nparam = 12
private