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

Protected Member Functions

std::string getPublishedName (const std::string &name) const
 returns 'official' member name for property
 
- 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.
 
void set (Element *instance, const Element *instance2, const std::string &name)
 Set member with name of class instance to value of second instance.
 
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.
 
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
 

Private Attributes

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

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.
 

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 439 of file element.cc.

References angle, angleSet, aper1, aper2, aper3, aper4, apertureType, autoColour, awakeMagnetOffsetX, B, beampipeMaterial, beampipeThickness, bias, biasMaterial, biasMaterialList, biasVacuum, biasVacuumList, cavityFieldType, cavityModel, coilHeightFraction, coilWidthFraction, colour, degraderHeight, degraderOffset, dicomDataFile, dicomDataPath, E, e1, e2, elementLengthIsArcLength, fieldAll, fieldOuter, fieldVacuum, fint, fintK2, fintx, fintxK2, frequency, geometryFile, gradient, h1, h2, hgap, hkick, hStyle, jawTiltRight, k1, k2, k3, k4, kick, kick1, kick2, kick3, kick4, knl, ks, ksl, l, layerIsSampler, layerMaterials, layerThicknesses, lst, materialThickness, minimumKineticEnergy, mountmaterial, namedVacuumVolumes, numberWedges, offsetX, offsetY, phase, poleStartZ, psi, region, rmat11, rmat12, rmat13, rmat14, rmat21, rmat22, rmat23, rmat24, rmat31, rmat32, rmat33, rmat34, rmat41, rmat42, rmat43, rmat44, samplerName, samplerParticleSetID, samplerRadius, samplerType, scaling, scalingFieldOuter, scintmaterial, screenEndZ, screenPSize, screenWidth, screenYSize, spec, stripOuterVolume, tilt, tmount, tOffset, tscint, twindow, type, 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(), 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 264 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 273 of file element.cc.

References type.

◆ print()

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

print method

Definition at line 281 of file element.cc.

References angle, B, dicomDataFile, dicomDataPath, fieldAll, geometryFile, k1, k2, k3, k4, knl, ks, ksl, l, lst, mountmaterial, print(), psi, samplerParticleSetID, samplerRadius, samplerType, scaling, scalingFieldOuter, scintmaterial, screenPSize, tmount, tscint, twindow, type, waveLength, windowmaterial, windowScreenGap, xdir, ydir, ysize, and zdir.

Referenced by print().

Here is the call graph for this function:
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 630 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, cavityFieldType, cavityModel, coilHeightFraction, coilWidthFraction, colour, degraderHeight, degraderOffset, dicomDataFile, dicomDataPath, E, e1, e2, elementLengthIsArcLength, fieldAll, fieldOuter, fieldVacuum, fint, fintK2, fintx, fintxK2, frequency, geometryFile, gradient, h1, h2, hgap, hkick, hStyle, jawTiltRight, 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 658 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 644 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 290 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 703 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 282 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 242 of file element.h.

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

◆ aper1

double GMAD::Element::aper1

beampipe information, new aperture model

Definition at line 107 of file element.h.

Referenced by BDSLinkDetectorConstruction::AddLinkCollimatorJaw(), flush(), BDSComponentFactory::PrepareBeamPipeInfo(), and PublishMembers().

◆ aper2

double GMAD::Element::aper2

beampipe information, new aperture model

Definition at line 108 of file element.h.

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

◆ aper3

double GMAD::Element::aper3

beampipe information, new aperture model

Definition at line 109 of file element.h.

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

◆ aper4

double GMAD::Element::aper4

beampipe information, new aperture model

Definition at line 110 of file element.h.

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

◆ apertureType

std::string GMAD::Element::apertureType

beampipe information, new aperture model

Definition at line 111 of file element.h.

Referenced by BDSLinkDetectorConstruction::AddLinkCollimatorJaw(), flush(), BDSComponentFactory::PrepareBeamPipeInfo(), and PublishMembers().

◆ autoColour

bool GMAD::Element::autoColour

Automagically colour the external geometry.

Definition at line 216 of file element.h.

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

◆ awakeMagnetOffsetX

double GMAD::Element::awakeMagnetOffsetX

for AWAKE spectrometer

Phosphor particle size in screen

Definition at line 149 of file element.h.

Referenced by flush(), and PublishMembers().

◆ axisAngle

bool GMAD::Element::axisAngle

Definition at line 163 of file element.h.

◆ axisX

double GMAD::Element::axisX

Definition at line 162 of file element.h.

◆ axisY

double GMAD::Element::axisY

Definition at line 162 of file element.h.

◆ axisZ

double GMAD::Element::axisZ

Definition at line 162 of file element.h.

◆ B

double GMAD::Element::B

◆ beampipeMaterial

std::string GMAD::Element::beampipeMaterial

beampipe information, new aperture model

Definition at line 112 of file element.h.

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

◆ beampipeThickness

double GMAD::Element::beampipeThickness

beampipe information, new aperture model

Definition at line 106 of file element.h.

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

◆ bias

std::string GMAD::Element::bias

temporary string for bias setting

Definition at line 189 of file element.h.

Referenced by flush(), PublishMembers(), and set().

◆ biasMaterial

std::string GMAD::Element::biasMaterial

temporary string for bias setting

Definition at line 190 of file element.h.

Referenced by flush(), PublishMembers(), and set().

◆ biasMaterialList

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

physics biasing list for the material

Definition at line 194 of file element.h.

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

◆ biasVacuum

std::string GMAD::Element::biasVacuum

temporary string for bias setting

Definition at line 191 of file element.h.

Referenced by flush(), PublishMembers(), and set().

◆ biasVacuumList

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

physics biasing list for the vacuum

Definition at line 196 of file element.h.

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

◆ cavityFieldType

std::string GMAD::Element::cavityFieldType

Name for type of field to use in a cavity.

Definition at line 225 of file element.h.

Referenced by flush(), BDSBeamlineIntegral::Integrate(), and PublishMembers().

◆ cavityModel

std::string GMAD::Element::cavityModel

Name of geometry model object for rfconstantinz cavities.

Definition at line 224 of file element.h.

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

◆ coilHeightFraction

double GMAD::Element::coilHeightFraction

Fraction of availalbe v space the coil will take up.

Definition at line 123 of file element.h.

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

◆ coilWidthFraction

double GMAD::Element::coilWidthFraction

Fraction of available h space the coil will take up.

Definition at line 122 of file element.h.

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

◆ colour

std::string GMAD::Element::colour

Override colour for certain items.

Definition at line 231 of file element.h.

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

◆ crystalAngleYAxisLeft

double GMAD::Element::crystalAngleYAxisLeft

Definition at line 236 of file element.h.

◆ crystalAngleYAxisRight

double GMAD::Element::crystalAngleYAxisRight

Definition at line 237 of file element.h.

◆ crystalBoth

std::string GMAD::Element::crystalBoth

Definition at line 235 of file element.h.

◆ crystalLeft

std::string GMAD::Element::crystalLeft

Definition at line 233 of file element.h.

◆ crystalRight

std::string GMAD::Element::crystalRight

Definition at line 234 of file element.h.

◆ degraderHeight

double GMAD::Element::degraderHeight

for degrader

Definition at line 168 of file element.h.

Referenced by flush(), and PublishMembers().

◆ degraderOffset

double GMAD::Element::degraderOffset

for degrader

Definition at line 170 of file element.h.

Referenced by flush(), and PublishMembers().

◆ dicomDataFile

std::string GMAD::Element::dicomDataFile

for CT, file for DICOM construction data

Definition at line 228 of file element.h.

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

◆ dicomDataPath

std::string GMAD::Element::dicomDataPath

for CT, file for DICOM construction data

Definition at line 227 of file element.h.

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

◆ E

double GMAD::Element::E

voltage for rf cavities in V that will be assumed over length l

Definition at line 75 of file element.h.

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

◆ e1

double GMAD::Element::e1

◆ e2

double GMAD::Element::e2

◆ elementLengthIsArcLength

bool GMAD::Element::elementLengthIsArcLength

For Element. Treat the length as arc length, if not chord.

Definition at line 218 of file element.h.

Referenced by flush(), and PublishMembers().

◆ fieldAll

std::string GMAD::Element::fieldAll

Field for everything.

Definition at line 212 of file element.h.

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

◆ fieldModulator

std::string GMAD::Element::fieldModulator

Definition at line 79 of file element.h.

◆ fieldOuter

std::string GMAD::Element::fieldOuter

◆ fieldVacuum

std::string GMAD::Element::fieldVacuum

Vacuum field.

Definition at line 211 of file element.h.

Referenced by flush(), 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(), flush(), 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 flush(), and 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(), flush(), 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 flush(), and PublishMembers().

◆ frequency

double GMAD::Element::frequency

frequency for rf cavity in Hz

Definition at line 76 of file element.h.

Referenced by flush(), BDSBeamlineIntegral::Integrate(), BDSComponentFactory::PrepareCavityStrength(), and PublishMembers().

◆ geometryFile

std::string GMAD::Element::geometryFile

For Element. File for external geometry.

Definition at line 214 of file element.h.

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

◆ gradient

double GMAD::Element::gradient

for rf cavities in V / m

Definition at line 74 of file element.h.

Referenced by BDSComponentFactory::EFieldFromElement(), flush(), and PublishMembers().

◆ h1

double GMAD::Element::h1

input pole face curvature for bends

Definition at line 67 of file element.h.

Referenced by flush(), and PublishMembers().

◆ h2

double GMAD::Element::h2

output pole face curvature for bends

Definition at line 68 of file element.h.

Referenced by flush(), and 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(), flush(), and PublishMembers().

◆ hkick

double GMAD::Element::hkick

fractional delta px for hkicker

Definition at line 70 of file element.h.

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

◆ horizontalWidth

double GMAD::Element::horizontalWidth

Definition at line 118 of file element.h.

◆ hStyle

int GMAD::Element::hStyle

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

Definition at line 120 of file element.h.

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

◆ jawTiltLeft

double GMAD::Element::jawTiltLeft

Definition at line 128 of file element.h.

◆ jawTiltRight

double GMAD::Element::jawTiltRight

jaw collimator jaw tilts (angle in x-z plane)

Definition at line 128 of file element.h.

Referenced by BDSLinkDetectorConstruction::AddLinkCollimatorJaw(), flush(), and PublishMembers().

◆ k1

double GMAD::Element::k1

◆ k2

double GMAD::Element::k2

sextupole

Definition at line 55 of file element.h.

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

◆ k3

double GMAD::Element::k3

octupole

Definition at line 56 of file element.h.

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

◆ k4

double GMAD::Element::k4

decapole

Definition at line 57 of file element.h.

Referenced by flush(), print(), and 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 flush(), BDSComponentFactory::GetKickValue(), and PublishMembers().

◆ kick1

double GMAD::Element::kick1

rmatrix elements, only 4x4

Definition at line 82 of file element.h.

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

◆ kick2

double GMAD::Element::kick2

rmatrix elements, only 4x4

Definition at line 83 of file element.h.

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

◆ kick3

double GMAD::Element::kick3

rmatrix elements, only 4x4

Definition at line 84 of file element.h.

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

◆ kick4

double GMAD::Element::kick4

rmatrix elements, only 4x4

Definition at line 85 of file element.h.

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

◆ knl

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

multipole expansion coefficients

Definition at line 72 of file element.h.

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

◆ ks

double GMAD::Element::ks

solenoid

Definition at line 52 of file element.h.

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

◆ ksl

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

skew multipole expansion

Definition at line 73 of file element.h.

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

◆ l

double GMAD::Element::l

◆ layerIsSampler

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

for screen

Definition at line 141 of file element.h.

Referenced by flush(), and PublishMembers().

◆ layerMaterials

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

for screen

Definition at line 140 of file element.h.

Referenced by flush(), and PublishMembers().

◆ layerThicknesses

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

for screen

Definition at line 139 of file element.h.

Referenced by flush(), and PublishMembers().

◆ lst

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

in case the element is a list itself (line)

Definition at line 247 of file element.h.

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

◆ magnetGeometryType

std::string GMAD::Element::magnetGeometryType

Definition at line 117 of file element.h.

◆ markAsCollimator

bool GMAD::Element::markAsCollimator

Definition at line 222 of file element.h.

◆ material

std::string GMAD::Element::material

Definition at line 220 of file element.h.

◆ materialThickness

double GMAD::Element::materialThickness

for degrader

Definition at line 169 of file element.h.

Referenced by flush(), and PublishMembers().

◆ minimumKineticEnergy

double GMAD::Element::minimumKineticEnergy

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

Definition at line 199 of file element.h.

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

◆ mountmaterial

std::string GMAD::Element::mountmaterial

for AWAKE spectrometer

Phosphor particle size in screen

Definition at line 152 of file element.h.

Referenced by flush(), print(), and 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 221 of file element.h.

Referenced by flush(), and PublishMembers().

◆ numberWedges

int GMAD::Element::numberWedges

for degrader

Definition at line 166 of file element.h.

Referenced by flush(), and PublishMembers().

◆ offsetX

double GMAD::Element::offsetX

◆ offsetY

double GMAD::Element::offsetY

◆ phase

double GMAD::Element::phase

phase of rf cavity (rad)

Definition at line 77 of file element.h.

Referenced by flush(), BDSBeamlineIntegral::Integrate(), BDSComponentFactory::PrepareCavityStrength(), and PublishMembers().

◆ phi

double GMAD::Element::phi

Definition at line 161 of file element.h.

◆ poleStartZ

double GMAD::Element::poleStartZ

for AWAKE spectrometer

Phosphor particle size in screen

Definition at line 147 of file element.h.

Referenced by flush(), and PublishMembers().

◆ psi

double GMAD::Element::psi

for 3d transforms

Definition at line 161 of file element.h.

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

◆ region

std::string GMAD::Element::region

◆ rmat11

double GMAD::Element::rmat11

rmatrix elements, only 4x4

Definition at line 86 of file element.h.

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

◆ rmat12

double GMAD::Element::rmat12

rmatrix elements, only 4x4

Definition at line 87 of file element.h.

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

◆ rmat13

double GMAD::Element::rmat13

rmatrix elements, only 4x4

Definition at line 88 of file element.h.

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

◆ rmat14

double GMAD::Element::rmat14

rmatrix elements, only 4x4

Definition at line 89 of file element.h.

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

◆ rmat21

double GMAD::Element::rmat21

rmatrix elements, only 4x4

Definition at line 90 of file element.h.

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

◆ rmat22

double GMAD::Element::rmat22

rmatrix elements, only 4x4

Definition at line 91 of file element.h.

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

◆ rmat23

double GMAD::Element::rmat23

rmatrix elements, only 4x4

Definition at line 92 of file element.h.

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

◆ rmat24

double GMAD::Element::rmat24

rmatrix elements, only 4x4

Definition at line 93 of file element.h.

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

◆ rmat31

double GMAD::Element::rmat31

rmatrix elements, only 4x4

Definition at line 94 of file element.h.

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

◆ rmat32

double GMAD::Element::rmat32

rmatrix elements, only 4x4

Definition at line 95 of file element.h.

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

◆ rmat33

double GMAD::Element::rmat33

rmatrix elements, only 4x4

Definition at line 96 of file element.h.

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

◆ rmat34

double GMAD::Element::rmat34

rmatrix elements, only 4x4

Definition at line 97 of file element.h.

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

◆ rmat41

double GMAD::Element::rmat41

rmatrix elements, only 4x4

Definition at line 98 of file element.h.

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

◆ rmat42

double GMAD::Element::rmat42

rmatrix elements, only 4x4

Definition at line 99 of file element.h.

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

◆ rmat43

double GMAD::Element::rmat43

rmatrix elements, only 4x4

Definition at line 100 of file element.h.

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

◆ rmat44

double GMAD::Element::rmat44

rmatrix elements, only 4x4

Definition at line 101 of file element.h.

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

◆ samplerName

std::string GMAD::Element::samplerName

name of sampler (default empty)

Definition at line 201 of file element.h.

Referenced by BDSDetectorConstruction::BuildSamplerInfo(), flush(), 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 207 of file element.h.

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

◆ samplerRadius

double GMAD::Element::samplerRadius

radius for cylindrical sampler

Definition at line 203 of file element.h.

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

◆ samplerType

std::string GMAD::Element::samplerType

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

Definition at line 202 of file element.h.

Referenced by BDSDetectorConstruction::BuildSamplerInfo(), flush(), 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 flush(), print(), PublishMembers(), BDSComponentFactory::ScalingFieldOuter(), and BDSComponentFactory::SetFieldDefinitions().

◆ scalingFieldOuterSet

bool GMAD::Element::scalingFieldOuterSet

Definition at line 244 of file element.h.

◆ scintmaterial

std::string GMAD::Element::scintmaterial

for AWAKE spectrometer

Phosphor particle size in screen

Definition at line 151 of file element.h.

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

◆ screenEndZ

double GMAD::Element::screenEndZ

for AWAKE spectrometer

Phosphor particle size in screen

Definition at line 146 of file element.h.

Referenced by flush(), and PublishMembers().

◆ screenPSize

double GMAD::Element::screenPSize

for AWAKE spectrometer

Phosphor particle size in screen

Definition at line 145 of file element.h.

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

◆ screenWidth

double GMAD::Element::screenWidth

for AWAKE spectrometer

Phosphor particle size in screen

Definition at line 148 of file element.h.

Referenced by flush(), and PublishMembers().

◆ screenXSize

double GMAD::Element::screenXSize

Definition at line 137 of file element.h.

◆ screenYSize

double GMAD::Element::screenYSize

for screen

Definition at line 137 of file element.h.

Referenced by flush(), and PublishMembers().

◆ spec

std::string GMAD::Element::spec

Arbitrary specification to pass to beamline builder.

Definition at line 223 of file element.h.

Referenced by flush(), and PublishMembers().

◆ stripOuterVolume

bool GMAD::Element::stripOuterVolume

For Element. Make it an assembly.

Definition at line 215 of file element.h.

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

◆ theta

double GMAD::Element::theta

Definition at line 161 of file element.h.

◆ tilt

double GMAD::Element::tilt

◆ tmount

double GMAD::Element::tmount

thickness of the screen mount

Definition at line 135 of file element.h.

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

◆ tOffset

double GMAD::Element::tOffset

time offset used for phase calculation (ns)

Definition at line 78 of file element.h.

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

◆ tscint

double GMAD::Element::tscint

thickness of scintillating part of screen

Definition at line 133 of file element.h.

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

◆ twindow

double GMAD::Element::twindow

thickness of window

Definition at line 134 of file element.h.

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

◆ type

ElementType GMAD::Element::type

◆ undulatorGap

double GMAD::Element::undulatorGap

for undulator

Definition at line 184 of file element.h.

Referenced by flush(), and PublishMembers().

◆ undulatorMagnetHeight

double GMAD::Element::undulatorMagnetHeight

for undulator

Definition at line 185 of file element.h.

Referenced by flush(), and PublishMembers().

◆ undulatorPeriod

double GMAD::Element::undulatorPeriod

for undulator

Definition at line 183 of file element.h.

Referenced by flush(), and PublishMembers().

◆ userParameters

std::string GMAD::Element::userParameters

String for passing user parameters through.

Definition at line 47 of file element.h.

Referenced by flush(), and PublishMembers().

◆ userTypeName

std::string GMAD::Element::userTypeName

User component element type name.

Definition at line 46 of file element.h.

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

◆ vacuumMaterial

std::string GMAD::Element::vacuumMaterial

beampipe information, new aperture model

Definition at line 113 of file element.h.

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

◆ vhRatio

double GMAD::Element::vhRatio

ratio of vertial to horizontal for some magnets

Definition at line 121 of file element.h.

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

◆ vkick

double GMAD::Element::vkick

fractional delta py for vkicker

Definition at line 71 of file element.h.

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

◆ waveLength

double GMAD::Element::waveLength

for laser wire and 3d transforms

Definition at line 160 of file element.h.

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

◆ wedgeLength

double GMAD::Element::wedgeLength

for degrader

Definition at line 167 of file element.h.

Referenced by flush(), and PublishMembers().

◆ windowmaterial

std::string GMAD::Element::windowmaterial

for AWAKE spectrometer

Phosphor particle size in screen

Definition at line 150 of file element.h.

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

◆ windowScreenGap

double GMAD::Element::windowScreenGap

air gap between window and screen

Definition at line 136 of file element.h.

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

◆ wireAngle

double GMAD::Element::wireAngle

for wirescanner

Definition at line 179 of file element.h.

Referenced by flush(), and PublishMembers().

◆ wireDiameter

double GMAD::Element::wireDiameter

for wirescanner

Definition at line 174 of file element.h.

Referenced by flush(), and PublishMembers().

◆ wireLength

double GMAD::Element::wireLength

for wirescanner

Definition at line 175 of file element.h.

Referenced by flush(), and PublishMembers().

◆ wireOffsetX

double GMAD::Element::wireOffsetX

for wirescanner

Definition at line 176 of file element.h.

Referenced by flush(), and PublishMembers().

◆ wireOffsetY

double GMAD::Element::wireOffsetY

for wirescanner

Definition at line 177 of file element.h.

Referenced by flush(), and PublishMembers().

◆ wireOffsetZ

double GMAD::Element::wireOffsetZ

for wirescanner

Definition at line 178 of file element.h.

Referenced by flush(), and PublishMembers().

◆ xdir

double GMAD::Element::xdir

for 3d transform and laser

Definition at line 156 of file element.h.

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

◆ xsize

double GMAD::Element::xsize

Definition at line 125 of file element.h.

◆ xsizeLeft

double GMAD::Element::xsizeLeft

Definition at line 127 of file element.h.

◆ xsizeOut

double GMAD::Element::xsizeOut

Definition at line 126 of file element.h.

◆ xsizeRight

double GMAD::Element::xsizeRight

individual collimator jaw half widths

Definition at line 127 of file element.h.

Referenced by BDSLinkDetectorConstruction::AddLinkCollimatorJaw(), flush(), and PublishMembers().

◆ ydir

double GMAD::Element::ydir

for 3d transform and laser

Definition at line 157 of file element.h.

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

◆ yokeOnInside

bool GMAD::Element::yokeOnInside

Definition at line 119 of file element.h.

◆ ysize

double GMAD::Element::ysize

collimator aperture or laser spotsize for laser

Definition at line 125 of file element.h.

Referenced by BDSLinkDetectorConstruction::AddLinkCollimatorJaw(), flush(), print(), and PublishMembers().

◆ ysizeOut

double GMAD::Element::ysizeOut

collimator aperture or laser spotsize for laser

Definition at line 126 of file element.h.

Referenced by flush(), and PublishMembers().

◆ zdir

double GMAD::Element::zdir

for 3d transform and laser

Definition at line 158 of file element.h.

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


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