BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Public Member Functions | Data Fields | Protected Member Functions | Private Member Functions | Private Attributes
GMAD::Element Struct Reference

Element class. More...

#include <element.h>

Inheritance diagram for GMAD::Element:
Inheritance graph
Collaboration diagram for GMAD::Element:
Collaboration graph

Public Member Functions

void print (int ident=0) const
 print method More...
 
void flush ()
 flush method More...
 
bool isSpecial () const
 check if element is of a special type More...
 
double property_lookup (std::string property_name) const
 
void setSamplerInfo (std::string samplerType, std::string samplerName, double samplerRadius, int samplerParticleSetIDIn=-1)
 set sampler info More...
 
template<typename T >
void set_value (std::string property, T value)
 
 Element ()
 constructor More...
 
void set (const Parameters &params)
 set method from Parameters structure More...
 
void set (const Parameters &params, std::string nameIn, ElementType typeIn)
 set method from Parameters structure More...
 
- Public Member Functions inherited from GMAD::Published< Element >
bool NameExists (const std::string &name) const
 
Published< Element >::template AttributeMap< T > & attribute_map () const
 

Data Fields

ElementType type
 element enum More...
 
std::string name
 
std::string userTypeName
 User component element type name. More...
 
std::string userParameters
 String for passing user parameters through. More...
 
double l
 length in metres More...
 
double scaling
 Overall scaling of field strength. More...
 
double scalingFieldOuter
 Extra arbitrary scaling for outer field - compounded with 'scaling'. More...
 
double ks
 solenoid More...
 
double k1
 quadrupole More...
 
double k2
 sextupole More...
 
double k3
 octupole More...
 
double k4
 decapole More...
 
double angle
 bending angle More...
 
double B
 magnetic field More...
 
double e1
 input pole face rotation for bends More...
 
double e2
 output pole face rotation for bends More...
 
double fint
 fringe field integral at the dipole entrance More...
 
double fintx
 fringe field integral at the dipole exit More...
 
double fintK2
 second fringe field integral at the dipole entrance - for TRANSPORT matching More...
 
double fintxK2
 second fringe field integral at the dipole exit - for TRANSPORT matching More...
 
double hgap
 half distance of pole separation for purposes of fringe fields - 'half gap' More...
 
double h1
 input pole face curvature for bends More...
 
double h2
 output pole face curvature for bends More...
 
double kick
 fractional delta p for either h or v kicker More...
 
double hkick
 fractional delta px for hkicker More...
 
double vkick
 fractional delta py for vkicker More...
 
std::list< double > knl
 multipole expansion coefficients More...
 
std::list< double > ksl
 skew multipole expansion More...
 
double gradient
 for rf cavities in V / m More...
 
double E
 electric field amplitude for rf cavities in V More...
 
double frequency
 frequency for rf cavity in Hz More...
 
double phase
 phase of rf cavity (rad) More...
 
double tOffset
 time offset used for phase calculation (ns) More...
 
std::string magnetGeometryType
 
double horizontalWidth
 
bool yokeOnInside
 
int hStyle
 -1 = unset; 0 = false (ie c style); 1 = true, use hstyle More...
 
double vhRatio
 ratio of vertial to horizontal for some magnets More...
 
double coilWidthFraction
 Fraction of available h space the coil will take up. More...
 
double coilHeightFraction
 Fraction of availalbe v space the coil will take up. More...
 
double tilt
 tilt More...
 
double xsize
 
double ysize
 collimator aperture or laser spotsize for laser More...
 
double xsizeOut
 
double ysizeOut
 collimator aperture or laser spotsize for laser More...
 
double xsizeLeft
 
double xsizeRight
 individual collimator jaw half widths More...
 
double offsetX
 offset X More...
 
double offsetY
 offset Y More...
 
double tscint
 thickness of scintillating part of screen More...
 
double twindow
 thickness of window More...
 
double tmount
 thickness of the screen mount More...
 
double windowScreenGap
 air gap between window and screen More...
 
double screenXSize
 
double screenYSize
 
double waveLength
 for laser wire and 3d transforms More...
 
double phi
 
double theta
 
double psi
 for 3d transforms More...
 
double axisX
 
double axisY
 
double axisZ
 
bool axisAngle
 
std::list< std::string > biasMaterialList
 
std::list< std::string > biasVacuumList
 physics biasing list for the vacuum More...
 
double minimumKineticEnergy
 minimum kinetic energy for user limits - respected on element by element basis More...
 
std::string samplerName
 name of sampler (default empty) More...
 
std::string samplerType
 element has a sampler of this type (default "none") More...
 
double samplerRadius
 
int samplerParticleSetID
 
std::string region
 region with range cuts More...
 
std::string fieldOuter
 Outer field. More...
 
std::string fieldVacuum
 Vacuum field. More...
 
std::string fieldAll
 Field for everything. More...
 
std::string geometryFile
 For Element. File for external geometry. More...
 
bool stripOuterVolume
 For Element. Make it an assembly. More...
 
bool autoColour
 Automagically colour the external geometry. More...
 
std::string material
 
std::string namedVacuumVolumes
 For imported geometry - identify vacuum volumes. More...
 
bool markAsCollimator
 
std::string spec
 arbitrary specification to pass to beamline builder More...
 
std::string cavityModel
 model for rf cavities More...
 
std::string dicomDataPath
 for CT, file for DICOM construction data More...
 
std::string dicomDataFile
 for CT, file for DICOM construction data More...
 
std::string colour
 Override colour for certain items. More...
 
std::string crystalLeft
 
std::string crystalRight
 
std::string crystalBoth
 
double crystalAngleYAxisLeft
 
double crystalAngleYAxisRight
 
bool angleSet
 
bool scalingFieldOuterSet
 
std::list< Element > * lst
 in case the element is a list itself (line) More...
 
double kick1
 rmatrix elements, only 4x4 More...
 
double kick2
 rmatrix elements, only 4x4 More...
 
double kick3
 rmatrix elements, only 4x4 More...
 
double kick4
 rmatrix elements, only 4x4 More...
 
double rmat11
 rmatrix elements, only 4x4 More...
 
double rmat12
 rmatrix elements, only 4x4 More...
 
double rmat13
 rmatrix elements, only 4x4 More...
 
double rmat14
 rmatrix elements, only 4x4 More...
 
double rmat21
 rmatrix elements, only 4x4 More...
 
double rmat22
 rmatrix elements, only 4x4 More...
 
double rmat23
 rmatrix elements, only 4x4 More...
 
double rmat24
 rmatrix elements, only 4x4 More...
 
double rmat31
 rmatrix elements, only 4x4 More...
 
double rmat32
 rmatrix elements, only 4x4 More...
 
double rmat33
 rmatrix elements, only 4x4 More...
 
double rmat34
 rmatrix elements, only 4x4 More...
 
double rmat41
 rmatrix elements, only 4x4 More...
 
double rmat42
 rmatrix elements, only 4x4 More...
 
double rmat43
 rmatrix elements, only 4x4 More...
 
double rmat44
 rmatrix elements, only 4x4 More...
 
double beampipeThickness
 beampipe information, new aperture model More...
 
double aper1
 beampipe information, new aperture model More...
 
double aper2
 beampipe information, new aperture model More...
 
double aper3
 beampipe information, new aperture model More...
 
double aper4
 beampipe information, new aperture model More...
 
std::string apertureType
 beampipe information, new aperture model More...
 
std::string beampipeMaterial
 beampipe information, new aperture model More...
 
std::string vacuumMaterial
 beampipe information, new aperture model More...
 
std::list< double > layerThicknesses
 for screen More...
 
std::list< std::string > layerMaterials
 for screen More...
 
std::list< int > layerIsSampler
 for screen More...
 
double screenPSize
 for AWAKE spectrometer More...
 
double screenEndZ
 for AWAKE spectrometer More...
 
double poleStartZ
 for AWAKE spectrometer More...
 
double screenWidth
 for AWAKE spectrometer More...
 
double awakeMagnetOffsetX
 for AWAKE spectrometer More...
 
std::string windowmaterial
 for AWAKE spectrometer More...
 
std::string scintmaterial
 for AWAKE spectrometer More...
 
std::string mountmaterial
 for AWAKE spectrometer More...
 
double xdir
 for 3d transform and laser More...
 
double ydir
 for 3d transform and laser More...
 
double zdir
 for 3d transform and laser More...
 
int numberWedges
 for degrader More...
 
double wedgeLength
 for degrader More...
 
double degraderHeight
 for degrader More...
 
double materialThickness
 for degrader More...
 
double degraderOffset
 for degrader More...
 
double wireDiameter
 for wirescanner More...
 
double wireLength
 for wirescanner More...
 
double wireOffsetX
 for wirescanner More...
 
double wireOffsetY
 for wirescanner More...
 
double wireOffsetZ
 for wirescanner More...
 
double wireAngle
 for wirescanner More...
 
double undulatorPeriod
 for undulator More...
 
double undulatorGap
 for undulator More...
 
double undulatorMagnetHeight
 for undulator More...
 
std::string bias
 temporary string for bias setting More...
 
std::string biasMaterial
 temporary string for bias setting More...
 
std::string biasVacuum
 temporary string for bias setting More...
 

Protected Member Functions

std::string getPublishedName (const std::string &name) const
 returns 'official' member name for property More...
 
- Protected Member Functions inherited from GMAD::Published< Element >
void publish (const std::string &name, T C::*mp)
 Make pointer to member from class C and type T with accessible with a name. More...
 
void set (Element *instance, const Element *instance2, const std::string &name)
 Set member with name of class instance to value of second instance. More...
 
AttributeMap< T > & attribute_map () const
 Access method to static map for type T and class C.
 
get (const Element *instance, const std::string &name) const
 Get method for class C. More...
 
void set (Element *instance, const std::string &name, double value)
 
void set (Element *instance, const std::string &name, GMAD::Array *const &value)
 
void set (Element *instance, const std::string &name, const T &value)
 

Private Member Functions

void PublishMembers ()
 publish members so these can be looked up from parser More...
 

Private Attributes

std::map< std::string, std::string > alternativeNames
 map that translates between alternative parser names for members, could be made static More...
 

Additional Inherited Members

- Protected Types inherited from GMAD::Published< Element >
using AttributeMap = typename std::unordered_map< std::string, T C::* >
 Define AttributeMap of string and class member pointer. More...
 

Detailed Description

Element class.

Author
I. Agapov

Definition at line 42 of file element.h.

Constructor & Destructor Documentation

◆ Element()

Element::Element ( )

constructor

Definition at line 45 of file element.cc.

References flush(), and PublishMembers().

Here is the call graph for this function:

Member Function Documentation

◆ flush()

void Element::flush ( )

flush method

Definition at line 431 of file element.cc.

References type.

Referenced by Element(), and GMAD::Parameters::flush().

Here is the caller graph for this function:

◆ getPublishedName()

std::string Element::getPublishedName ( const std::string &  name) const
protected

returns 'official' member name for property

Definition at line 259 of file element.cc.

References alternativeNames.

Referenced by GMAD::Parameters::set_value().

Here is the caller graph for this function:

◆ isSpecial()

bool Element::isSpecial ( ) const

check if element is of a special type

Definition at line 268 of file element.cc.

References type.

◆ print()

void Element::print ( int  ident = 0) const

print method

Definition at line 276 of file element.cc.

References l, samplerParticleSetID, samplerRadius, samplerType, and type.

Referenced by BDSComponentFactory::CreateComponent().

Here is the caller graph for this function:

◆ property_lookup()

double Element::property_lookup ( std::string  property_name) const

property lookup by name (slow method) only for properties with type int/double!

Definition at line 617 of file element.cc.

Referenced by GMAD::Parser::property_lookup().

Here is the caller graph for this function:

◆ PublishMembers()

void Element::PublishMembers ( )
private

publish members so these can be looked up from parser

Definition at line 53 of file element.cc.

References alternativeNames, angle, aper1, aper2, aper3, aper4, apertureType, autoColour, awakeMagnetOffsetX, B, beampipeMaterial, beampipeThickness, bias, biasMaterial, biasVacuum, cavityModel, coilHeightFraction, coilWidthFraction, colour, degraderHeight, degraderOffset, dicomDataFile, dicomDataPath, E, e1, e2, fieldAll, fieldOuter, fieldVacuum, fint, fintK2, fintx, fintxK2, frequency, geometryFile, gradient, h1, h2, hgap, hkick, hStyle, k1, k2, k3, k4, kick, kick1, kick2, kick3, kick4, knl, ks, ksl, l, layerIsSampler, layerMaterials, layerThicknesses, materialThickness, minimumKineticEnergy, mountmaterial, namedVacuumVolumes, numberWedges, offsetX, offsetY, phase, poleStartZ, psi, GMAD::Published< Element >::publish(), region, rmat11, rmat12, rmat13, rmat14, rmat21, rmat22, rmat23, rmat24, rmat31, rmat32, rmat33, rmat34, rmat41, rmat42, rmat43, rmat44, samplerName, samplerRadius, samplerType, scaling, scalingFieldOuter, scintmaterial, screenEndZ, screenPSize, screenWidth, screenYSize, spec, stripOuterVolume, tilt, tmount, tOffset, tscint, twindow, undulatorGap, undulatorMagnetHeight, undulatorPeriod, userParameters, userTypeName, vacuumMaterial, vhRatio, vkick, waveLength, wedgeLength, windowmaterial, windowScreenGap, wireAngle, wireDiameter, wireLength, wireOffsetX, wireOffsetY, wireOffsetZ, xdir, xsizeRight, ydir, ysize, ysizeOut, and zdir.

Referenced by Element().

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

◆ set() [1/2]

void Element::set ( const Parameters params)

set method from Parameters structure

Definition at line 645 of file element.cc.

References bias, biasMaterial, biasMaterialList, biasVacuum, biasVacuumList, GMAD::Published< C >::set(), and GMAD::Parameters::setMap.

Referenced by set(), and GMAD::Parser::write_table().

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

◆ set() [2/2]

void Element::set ( const Parameters params,
std::string  nameIn,
ElementType  typeIn 
)

set method from Parameters structure

Definition at line 631 of file element.cc.

References angleSet, set(), GMAD::Parameters::setMap, and type.

Here is the call graph for this function:

◆ set_value()

template<typename T >
void GMAD::Element::set_value ( std::string  property,
value 
)

Set methods by property name and value

Definition at line 284 of file element.h.

References GMAD::Published< C >::set().

Here is the call graph for this function:

◆ setSamplerInfo()

void Element::setSamplerInfo ( std::string  samplerType,
std::string  samplerName,
double  samplerRadius,
int  samplerParticleSetIDIn = -1 
)

set sampler info

Definition at line 690 of file element.cc.

References samplerName, samplerParticleSetID, samplerRadius, and samplerType.

Field Documentation

◆ alternativeNames

std::map<std::string,std::string> GMAD::Element::alternativeNames
private

map that translates between alternative parser names for members, could be made static

Definition at line 276 of file element.h.

Referenced by getPublishedName(), and PublishMembers().

◆ angle

double GMAD::Element::angle

◆ angleSet

bool GMAD::Element::angleSet

Whether the angle was set. Unique as we may technically have 0 angle but a finite field. This allows us to distinguish later on. NOTE: this is not used in Params.

Definition at line 236 of file element.h.

Referenced by BDSComponentFactory::CalculateAngleAndFieldRBend(), BDSComponentFactory::CalculateAngleAndFieldSBend(), and set().

◆ aper1

double GMAD::Element::aper1

beampipe information, new aperture model

Definition at line 106 of file element.h.

Referenced by BDSComponentFactory::PrepareBeamPipeInfo(), and PublishMembers().

◆ aper2

double GMAD::Element::aper2

beampipe information, new aperture model

Definition at line 107 of file element.h.

Referenced by BDSComponentFactory::PrepareBeamPipeInfo(), and PublishMembers().

◆ aper3

double GMAD::Element::aper3

beampipe information, new aperture model

Definition at line 108 of file element.h.

Referenced by BDSComponentFactory::PrepareBeamPipeInfo(), and PublishMembers().

◆ aper4

double GMAD::Element::aper4

beampipe information, new aperture model

Definition at line 109 of file element.h.

Referenced by BDSComponentFactory::PrepareBeamPipeInfo(), and PublishMembers().

◆ apertureType

std::string GMAD::Element::apertureType

beampipe information, new aperture model

Definition at line 110 of file element.h.

Referenced by BDSComponentFactory::PrepareBeamPipeInfo(), and PublishMembers().

◆ autoColour

bool GMAD::Element::autoColour

Automagically colour the external geometry.

Definition at line 214 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetOuterInfo(), and PublishMembers().

◆ awakeMagnetOffsetX

double GMAD::Element::awakeMagnetOffsetX

for AWAKE spectrometer

Phosphor particle size in screen

Definition at line 147 of file element.h.

Referenced by PublishMembers().

◆ axisAngle

bool GMAD::Element::axisAngle

Definition at line 161 of file element.h.

◆ axisX

double GMAD::Element::axisX

Definition at line 160 of file element.h.

◆ axisY

double GMAD::Element::axisY

Definition at line 160 of file element.h.

◆ axisZ

double GMAD::Element::axisZ

Definition at line 160 of file element.h.

◆ B

double GMAD::Element::B

◆ beampipeMaterial

std::string GMAD::Element::beampipeMaterial

beampipe information, new aperture model

Definition at line 111 of file element.h.

Referenced by BDSComponentFactory::PrepareBeamPipeInfo(), and PublishMembers().

◆ beampipeThickness

double GMAD::Element::beampipeThickness

beampipe information, new aperture model

Definition at line 105 of file element.h.

Referenced by BDSComponentFactory::PrepareBeamPipeInfo(), and PublishMembers().

◆ bias

std::string GMAD::Element::bias

temporary string for bias setting

Definition at line 187 of file element.h.

Referenced by PublishMembers(), and set().

◆ biasMaterial

std::string GMAD::Element::biasMaterial

temporary string for bias setting

Definition at line 188 of file element.h.

Referenced by PublishMembers(), and set().

◆ biasMaterialList

std::list<std::string> GMAD::Element::biasMaterialList

physics biasing list for the material

Definition at line 192 of file element.h.

Referenced by BDSComponentFactory::CreateComponent(), and set().

◆ biasVacuum

std::string GMAD::Element::biasVacuum

temporary string for bias setting

Definition at line 189 of file element.h.

Referenced by PublishMembers(), and set().

◆ biasVacuumList

std::list<std::string> GMAD::Element::biasVacuumList

physics biasing list for the vacuum

Definition at line 194 of file element.h.

Referenced by BDSComponentFactory::CreateComponent(), and set().

◆ cavityModel

std::string GMAD::Element::cavityModel

model for rf cavities

Definition at line 219 of file element.h.

Referenced by BDSComponentFactory::PrepareCavityModelInfo(), and PublishMembers().

◆ coilHeightFraction

double GMAD::Element::coilHeightFraction

Fraction of availalbe v space the coil will take up.

Definition at line 122 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetOuterInfo(), and PublishMembers().

◆ coilWidthFraction

double GMAD::Element::coilWidthFraction

Fraction of available h space the coil will take up.

Definition at line 121 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetOuterInfo(), and PublishMembers().

◆ colour

std::string GMAD::Element::colour

Override colour for certain items.

Definition at line 225 of file element.h.

Referenced by BDSComponentFactory::PrepareColour(), and PublishMembers().

◆ crystalAngleYAxisLeft

double GMAD::Element::crystalAngleYAxisLeft

Definition at line 230 of file element.h.

◆ crystalAngleYAxisRight

double GMAD::Element::crystalAngleYAxisRight

Definition at line 231 of file element.h.

◆ crystalBoth

std::string GMAD::Element::crystalBoth

Definition at line 229 of file element.h.

◆ crystalLeft

std::string GMAD::Element::crystalLeft

Definition at line 227 of file element.h.

◆ crystalRight

std::string GMAD::Element::crystalRight

Definition at line 228 of file element.h.

◆ degraderHeight

double GMAD::Element::degraderHeight

for degrader

Definition at line 166 of file element.h.

Referenced by PublishMembers().

◆ degraderOffset

double GMAD::Element::degraderOffset

for degrader

Definition at line 168 of file element.h.

Referenced by PublishMembers().

◆ dicomDataFile

std::string GMAD::Element::dicomDataFile

for CT, file for DICOM construction data

Definition at line 222 of file element.h.

Referenced by PublishMembers().

◆ dicomDataPath

std::string GMAD::Element::dicomDataPath

for CT, file for DICOM construction data

Definition at line 221 of file element.h.

Referenced by PublishMembers().

◆ E

double GMAD::Element::E

electric field amplitude for rf cavities in V

Definition at line 75 of file element.h.

Referenced by BDSComponentFactory::PrepareCavityStrength(), and PublishMembers().

◆ e1

double GMAD::Element::e1

◆ e2

double GMAD::Element::e2

◆ fieldAll

std::string GMAD::Element::fieldAll

Field for everything.

Definition at line 210 of file element.h.

Referenced by PublishMembers(), and BDSComponentFactory::SetFieldDefinitions().

◆ fieldOuter

std::string GMAD::Element::fieldOuter

◆ fieldVacuum

std::string GMAD::Element::fieldVacuum

Vacuum field.

Definition at line 209 of file element.h.

Referenced by PublishMembers(), and BDSComponentFactory::SetFieldDefinitions().

◆ fint

double GMAD::Element::fint

fringe field integral at the dipole entrance

Definition at line 62 of file element.h.

Referenced by BDS::BuildRBendLine(), BDS::BuildSBendLine(), and PublishMembers().

◆ fintK2

double GMAD::Element::fintK2

second fringe field integral at the dipole entrance - for TRANSPORT matching

Definition at line 64 of file element.h.

Referenced by PublishMembers().

◆ fintx

double GMAD::Element::fintx

fringe field integral at the dipole exit

Definition at line 63 of file element.h.

Referenced by BDS::BuildRBendLine(), BDS::BuildSBendLine(), and PublishMembers().

◆ fintxK2

double GMAD::Element::fintxK2

second fringe field integral at the dipole exit - for TRANSPORT matching

Definition at line 65 of file element.h.

Referenced by PublishMembers().

◆ frequency

double GMAD::Element::frequency

frequency for rf cavity in Hz

Definition at line 76 of file element.h.

Referenced by BDSComponentFactory::PrepareCavityStrength(), and PublishMembers().

◆ geometryFile

std::string GMAD::Element::geometryFile

For Element. File for external geometry.

Definition at line 212 of file element.h.

Referenced by PublishMembers().

◆ gradient

double GMAD::Element::gradient

for rf cavities in V / m

Definition at line 74 of file element.h.

Referenced by BDSComponentFactory::PrepareCavityStrength(), and PublishMembers().

◆ h1

double GMAD::Element::h1

input pole face curvature for bends

Definition at line 67 of file element.h.

Referenced by PublishMembers().

◆ h2

double GMAD::Element::h2

output pole face curvature for bends

Definition at line 68 of file element.h.

Referenced by PublishMembers().

◆ hgap

double GMAD::Element::hgap

half distance of pole separation for purposes of fringe fields - 'half gap'

Definition at line 66 of file element.h.

Referenced by BDS::BuildRBendLine(), BDS::BuildSBendLine(), and PublishMembers().

◆ hkick

double GMAD::Element::hkick

fractional delta px for hkicker

Definition at line 70 of file element.h.

Referenced by BDSComponentFactory::GetKickValue(), and PublishMembers().

◆ horizontalWidth

double GMAD::Element::horizontalWidth

Definition at line 117 of file element.h.

◆ hStyle

int GMAD::Element::hStyle

-1 = unset; 0 = false (ie c style); 1 = true, use hstyle

Definition at line 119 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetOuterInfo(), and PublishMembers().

◆ k1

double GMAD::Element::k1

◆ k2

double GMAD::Element::k2

sextupole

Definition at line 55 of file element.h.

Referenced by PublishMembers().

◆ k3

double GMAD::Element::k3

octupole

Definition at line 56 of file element.h.

Referenced by PublishMembers().

◆ k4

double GMAD::Element::k4

decapole

Definition at line 57 of file element.h.

Referenced by PublishMembers().

◆ kick

double GMAD::Element::kick

fractional delta p for either h or v kicker

Definition at line 69 of file element.h.

Referenced by BDSComponentFactory::GetKickValue(), and PublishMembers().

◆ kick1

double GMAD::Element::kick1

rmatrix elements, only 4x4

Definition at line 81 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().

◆ kick2

double GMAD::Element::kick2

rmatrix elements, only 4x4

Definition at line 82 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().

◆ kick3

double GMAD::Element::kick3

rmatrix elements, only 4x4

Definition at line 83 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().

◆ kick4

double GMAD::Element::kick4

rmatrix elements, only 4x4

Definition at line 84 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().

◆ knl

std::list<double> GMAD::Element::knl

multipole expansion coefficients

Definition at line 72 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetStrengthForMultipoles(), and PublishMembers().

◆ ks

double GMAD::Element::ks

solenoid

Definition at line 52 of file element.h.

Referenced by PublishMembers().

◆ ksl

std::list<double> GMAD::Element::ksl

skew multipole expansion

Definition at line 73 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetStrengthForMultipoles(), and PublishMembers().

◆ l

double GMAD::Element::l

◆ layerIsSampler

std::list<int> GMAD::Element::layerIsSampler

for screen

Definition at line 139 of file element.h.

Referenced by PublishMembers().

◆ layerMaterials

std::list<std::string> GMAD::Element::layerMaterials

for screen

Definition at line 138 of file element.h.

Referenced by PublishMembers().

◆ layerThicknesses

std::list<double> GMAD::Element::layerThicknesses

for screen

Definition at line 137 of file element.h.

Referenced by PublishMembers().

◆ lst

std::list<Element>* GMAD::Element::lst

in case the element is a list itself (line)

Definition at line 241 of file element.h.

Referenced by GMAD::Parser::add_element_temp(), and GMAD::Parser::write_table().

◆ magnetGeometryType

std::string GMAD::Element::magnetGeometryType

Definition at line 116 of file element.h.

◆ markAsCollimator

bool GMAD::Element::markAsCollimator

Definition at line 217 of file element.h.

◆ material

std::string GMAD::Element::material

Definition at line 215 of file element.h.

◆ materialThickness

double GMAD::Element::materialThickness

for degrader

Definition at line 167 of file element.h.

Referenced by PublishMembers().

◆ minimumKineticEnergy

double GMAD::Element::minimumKineticEnergy

minimum kinetic energy for user limits - respected on element by element basis

Definition at line 197 of file element.h.

Referenced by BDSComponentFactory::CreateComponent(), and PublishMembers().

◆ mountmaterial

std::string GMAD::Element::mountmaterial

for AWAKE spectrometer

Phosphor particle size in screen

Definition at line 150 of file element.h.

Referenced by PublishMembers().

◆ name

std::string GMAD::Element::name

Definition at line 45 of file element.h.

◆ namedVacuumVolumes

std::string GMAD::Element::namedVacuumVolumes

For imported geometry - identify vacuum volumes.

Definition at line 216 of file element.h.

Referenced by PublishMembers().

◆ numberWedges

int GMAD::Element::numberWedges

for degrader

Definition at line 164 of file element.h.

Referenced by PublishMembers().

◆ offsetX

double GMAD::Element::offsetX

offset X

Definition at line 127 of file element.h.

Referenced by BDSComponentFactory::CreateTiltOffset(), and PublishMembers().

◆ offsetY

double GMAD::Element::offsetY

offset Y

Definition at line 128 of file element.h.

Referenced by BDSComponentFactory::CreateTiltOffset(), and PublishMembers().

◆ phase

double GMAD::Element::phase

phase of rf cavity (rad)

Definition at line 77 of file element.h.

Referenced by BDSComponentFactory::PrepareCavityStrength(), and PublishMembers().

◆ phi

double GMAD::Element::phi

Definition at line 159 of file element.h.

◆ poleStartZ

double GMAD::Element::poleStartZ

for AWAKE spectrometer

Phosphor particle size in screen

Definition at line 145 of file element.h.

Referenced by PublishMembers().

◆ psi

double GMAD::Element::psi

for 3d transforms

Definition at line 159 of file element.h.

Referenced by PublishMembers().

◆ region

std::string GMAD::Element::region

region with range cuts

Definition at line 207 of file element.h.

Referenced by BDSComponentFactory::CreateComponent(), and PublishMembers().

◆ rmat11

double GMAD::Element::rmat11

rmatrix elements, only 4x4

Definition at line 85 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().

◆ rmat12

double GMAD::Element::rmat12

rmatrix elements, only 4x4

Definition at line 86 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().

◆ rmat13

double GMAD::Element::rmat13

rmatrix elements, only 4x4

Definition at line 87 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().

◆ rmat14

double GMAD::Element::rmat14

rmatrix elements, only 4x4

Definition at line 88 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().

◆ rmat21

double GMAD::Element::rmat21

rmatrix elements, only 4x4

Definition at line 89 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().

◆ rmat22

double GMAD::Element::rmat22

rmatrix elements, only 4x4

Definition at line 90 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().

◆ rmat23

double GMAD::Element::rmat23

rmatrix elements, only 4x4

Definition at line 91 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().

◆ rmat24

double GMAD::Element::rmat24

rmatrix elements, only 4x4

Definition at line 92 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().

◆ rmat31

double GMAD::Element::rmat31

rmatrix elements, only 4x4

Definition at line 93 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().

◆ rmat32

double GMAD::Element::rmat32

rmatrix elements, only 4x4

Definition at line 94 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().

◆ rmat33

double GMAD::Element::rmat33

rmatrix elements, only 4x4

Definition at line 95 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().

◆ rmat34

double GMAD::Element::rmat34

rmatrix elements, only 4x4

Definition at line 96 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().

◆ rmat41

double GMAD::Element::rmat41

rmatrix elements, only 4x4

Definition at line 97 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().

◆ rmat42

double GMAD::Element::rmat42

rmatrix elements, only 4x4

Definition at line 98 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().

◆ rmat43

double GMAD::Element::rmat43

rmatrix elements, only 4x4

Definition at line 99 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().

◆ rmat44

double GMAD::Element::rmat44

rmatrix elements, only 4x4

Definition at line 100 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().

◆ samplerName

std::string GMAD::Element::samplerName

name of sampler (default empty)

Definition at line 199 of file element.h.

Referenced by BDSDetectorConstruction::BuildSamplerInfo(), PublishMembers(), and setSamplerInfo().

◆ samplerParticleSetID

int GMAD::Element::samplerParticleSetID

ID to a map for a set of which partIDs to store for a sampler. We use an integer to a map we keep in the parser to save memory, so we don't copy a set to every beam line element.

Definition at line 205 of file element.h.

Referenced by BDSDetectorConstruction::BuildSamplerInfo(), print(), and setSamplerInfo().

◆ samplerRadius

double GMAD::Element::samplerRadius

radius for cylindrical sampler

Definition at line 201 of file element.h.

Referenced by print(), PublishMembers(), and setSamplerInfo().

◆ samplerType

std::string GMAD::Element::samplerType

element has a sampler of this type (default "none")

Definition at line 200 of file element.h.

Referenced by BDSDetectorConstruction::BuildSamplerInfo(), print(), PublishMembers(), and setSamplerInfo().

◆ scaling

double GMAD::Element::scaling

◆ scalingFieldOuter

double GMAD::Element::scalingFieldOuter

Extra arbitrary scaling for outer field - compounded with 'scaling'.

Definition at line 51 of file element.h.

Referenced by PublishMembers(), and BDSComponentFactory::SetFieldDefinitions().

◆ scalingFieldOuterSet

bool GMAD::Element::scalingFieldOuterSet

Definition at line 238 of file element.h.

◆ scintmaterial

std::string GMAD::Element::scintmaterial

for AWAKE spectrometer

Phosphor particle size in screen

Definition at line 149 of file element.h.

Referenced by PublishMembers().

◆ screenEndZ

double GMAD::Element::screenEndZ

for AWAKE spectrometer

Phosphor particle size in screen

Definition at line 144 of file element.h.

Referenced by PublishMembers().

◆ screenPSize

double GMAD::Element::screenPSize

for AWAKE spectrometer

Phosphor particle size in screen

Definition at line 143 of file element.h.

Referenced by PublishMembers().

◆ screenWidth

double GMAD::Element::screenWidth

for AWAKE spectrometer

Phosphor particle size in screen

Definition at line 146 of file element.h.

Referenced by PublishMembers().

◆ screenXSize

double GMAD::Element::screenXSize

Definition at line 135 of file element.h.

◆ screenYSize

double GMAD::Element::screenYSize

for screen

Definition at line 135 of file element.h.

Referenced by PublishMembers().

◆ spec

std::string GMAD::Element::spec

arbitrary specification to pass to beamline builder

Definition at line 218 of file element.h.

Referenced by PublishMembers().

◆ stripOuterVolume

bool GMAD::Element::stripOuterVolume

For Element. Make it an assembly.

Definition at line 213 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetOuterInfo(), and PublishMembers().

◆ theta

double GMAD::Element::theta

Definition at line 159 of file element.h.

◆ tilt

double GMAD::Element::tilt

tilt

Definition at line 123 of file element.h.

Referenced by BDSComponentFactory::CreateTiltOffset(), and PublishMembers().

◆ tmount

double GMAD::Element::tmount

thickness of the screen mount

Definition at line 133 of file element.h.

Referenced by PublishMembers().

◆ tOffset

double GMAD::Element::tOffset

time offset used for phase calculation (ns)

Definition at line 78 of file element.h.

Referenced by BDSComponentFactory::PrepareCavityStrength(), and PublishMembers().

◆ tscint

double GMAD::Element::tscint

thickness of scintillating part of screen

Definition at line 131 of file element.h.

Referenced by PublishMembers().

◆ twindow

double GMAD::Element::twindow

thickness of window

Definition at line 132 of file element.h.

Referenced by PublishMembers().

◆ type

ElementType GMAD::Element::type

◆ undulatorGap

double GMAD::Element::undulatorGap

for undulator

Definition at line 182 of file element.h.

Referenced by PublishMembers().

◆ undulatorMagnetHeight

double GMAD::Element::undulatorMagnetHeight

for undulator

Definition at line 183 of file element.h.

Referenced by PublishMembers().

◆ undulatorPeriod

double GMAD::Element::undulatorPeriod

for undulator

Definition at line 181 of file element.h.

Referenced by PublishMembers().

◆ userParameters

std::string GMAD::Element::userParameters

String for passing user parameters through.

Definition at line 47 of file element.h.

Referenced by PublishMembers().

◆ userTypeName

std::string GMAD::Element::userTypeName

User component element type name.

Definition at line 46 of file element.h.

Referenced by BDSComponentFactory::CreateComponent(), and PublishMembers().

◆ vacuumMaterial

std::string GMAD::Element::vacuumMaterial

beampipe information, new aperture model

Definition at line 112 of file element.h.

Referenced by BDSComponentFactory::PrepareBeamPipeInfo(), BDSComponentFactory::PrepareVacuumMaterial(), and PublishMembers().

◆ vhRatio

double GMAD::Element::vhRatio

ratio of vertial to horizontal for some magnets

Definition at line 120 of file element.h.

Referenced by BDSComponentFactory::PrepareMagnetOuterInfo(), and PublishMembers().

◆ vkick

double GMAD::Element::vkick

fractional delta py for vkicker

Definition at line 71 of file element.h.

Referenced by BDSComponentFactory::GetKickValue(), and PublishMembers().

◆ waveLength

double GMAD::Element::waveLength

for laser wire and 3d transforms

Definition at line 158 of file element.h.

Referenced by PublishMembers().

◆ wedgeLength

double GMAD::Element::wedgeLength

for degrader

Definition at line 165 of file element.h.

Referenced by PublishMembers().

◆ windowmaterial

std::string GMAD::Element::windowmaterial

for AWAKE spectrometer

Phosphor particle size in screen

Definition at line 148 of file element.h.

Referenced by PublishMembers().

◆ windowScreenGap

double GMAD::Element::windowScreenGap

air gap between window and screen

Definition at line 134 of file element.h.

Referenced by PublishMembers().

◆ wireAngle

double GMAD::Element::wireAngle

for wirescanner

Definition at line 177 of file element.h.

Referenced by PublishMembers().

◆ wireDiameter

double GMAD::Element::wireDiameter

for wirescanner

Definition at line 172 of file element.h.

Referenced by PublishMembers().

◆ wireLength

double GMAD::Element::wireLength

for wirescanner

Definition at line 173 of file element.h.

Referenced by PublishMembers().

◆ wireOffsetX

double GMAD::Element::wireOffsetX

for wirescanner

Definition at line 174 of file element.h.

Referenced by PublishMembers().

◆ wireOffsetY

double GMAD::Element::wireOffsetY

for wirescanner

Definition at line 175 of file element.h.

Referenced by PublishMembers().

◆ wireOffsetZ

double GMAD::Element::wireOffsetZ

for wirescanner

Definition at line 176 of file element.h.

Referenced by PublishMembers().

◆ xdir

double GMAD::Element::xdir

for 3d transform and laser

Definition at line 154 of file element.h.

Referenced by PublishMembers().

◆ xsize

double GMAD::Element::xsize

Definition at line 124 of file element.h.

◆ xsizeLeft

double GMAD::Element::xsizeLeft

Definition at line 126 of file element.h.

◆ xsizeOut

double GMAD::Element::xsizeOut

Definition at line 125 of file element.h.

◆ xsizeRight

double GMAD::Element::xsizeRight

individual collimator jaw half widths

Definition at line 126 of file element.h.

Referenced by PublishMembers().

◆ ydir

double GMAD::Element::ydir

for 3d transform and laser

Definition at line 155 of file element.h.

Referenced by PublishMembers().

◆ yokeOnInside

bool GMAD::Element::yokeOnInside

Definition at line 118 of file element.h.

◆ ysize

double GMAD::Element::ysize

collimator aperture or laser spotsize for laser

Definition at line 124 of file element.h.

Referenced by PublishMembers().

◆ ysizeOut

double GMAD::Element::ysizeOut

collimator aperture or laser spotsize for laser

Definition at line 125 of file element.h.

Referenced by PublishMembers().

◆ zdir

double GMAD::Element::zdir

for 3d transform and laser

Definition at line 156 of file element.h.

Referenced by PublishMembers().


The documentation for this struct was generated from the following files: