BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
#include <element.h>
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 ¶ms) |
set method from Parameters structure | |
void | set (const Parameters ¶ms, std::string nameIn, ElementType typeIn) |
set method from Parameters structure | |
![]() | |
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 | |
![]() | |
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. | |
T | 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 | |
![]() | |
using | AttributeMap = typename std::unordered_map< std::string, T C::* > |
Define AttributeMap of string and class member pointer. | |
Element::Element | ( | ) |
constructor
Definition at line 45 of file element.cc.
References flush(), and PublishMembers().
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().
|
protected |
returns 'official' member name for property
Definition at line 264 of file element.cc.
References alternativeNames.
Referenced by GMAD::Parameters::set_value().
bool Element::isSpecial | ( | ) | const |
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().
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().
|
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().
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().
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.
void GMAD::Element::set_value | ( | std::string | property, |
T | value | ||
) |
Set methods by property name and value
Definition at line 290 of file element.h.
References GMAD::Published< C >::set().
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.
|
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().
double GMAD::Element::angle |
bending angle
Definition at line 58 of file element.h.
Referenced by BDSComponentFactory::BendAngle(), BDSComponentFactory::CalculateAngleAndFieldRBend(), BDSComponentFactory::CalculateAngleAndFieldSBend(), flush(), BDSComponentFactory::GetKickValue(), print(), and PublishMembers().
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().
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().
double GMAD::Element::aper2 |
beampipe information, new aperture model
Definition at line 108 of file element.h.
Referenced by flush(), BDSComponentFactory::PrepareBeamPipeInfo(), and PublishMembers().
double GMAD::Element::aper3 |
beampipe information, new aperture model
Definition at line 109 of file element.h.
Referenced by flush(), BDSComponentFactory::PrepareBeamPipeInfo(), and PublishMembers().
double GMAD::Element::aper4 |
beampipe information, new aperture model
Definition at line 110 of file element.h.
Referenced by flush(), BDSComponentFactory::PrepareBeamPipeInfo(), and PublishMembers().
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().
bool GMAD::Element::autoColour |
Automagically colour the external geometry.
Definition at line 216 of file element.h.
Referenced by flush(), BDSComponentFactory::PrepareMagnetOuterInfo(), and PublishMembers().
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().
double GMAD::Element::B |
magnetic field
Definition at line 59 of file element.h.
Referenced by BDSComponentFactory::CalculateAngleAndFieldRBend(), BDSComponentFactory::CalculateAngleAndFieldSBend(), flush(), print(), and PublishMembers().
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().
double GMAD::Element::beampipeThickness |
beampipe information, new aperture model
Definition at line 106 of file element.h.
Referenced by flush(), BDSComponentFactory::PrepareBeamPipeInfo(), and PublishMembers().
std::string GMAD::Element::bias |
temporary string for bias setting
Definition at line 189 of file element.h.
Referenced by flush(), PublishMembers(), and set().
std::string GMAD::Element::biasMaterial |
temporary string for bias setting
Definition at line 190 of file element.h.
Referenced by flush(), PublishMembers(), and set().
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().
std::string GMAD::Element::biasVacuum |
temporary string for bias setting
Definition at line 191 of file element.h.
Referenced by flush(), PublishMembers(), and set().
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().
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().
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().
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().
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().
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().
double GMAD::Element::degraderHeight |
double GMAD::Element::degraderOffset |
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().
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().
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().
double GMAD::Element::e1 |
input pole face rotation for bends
Definition at line 60 of file element.h.
Referenced by BDSDetectorConstruction::BuildBeamline(), BDS::BuildRBendLine(), BDS::BuildSBendLine(), flush(), BDSComponentFactory::IncomingFaceAngle(), BDSComponentFactory::PoleFaceRotationsNotTooLarge(), and PublishMembers().
double GMAD::Element::e2 |
output pole face rotation for bends
Definition at line 61 of file element.h.
Referenced by BDS::BuildRBendLine(), BDS::BuildSBendLine(), flush(), BDSComponentFactory::OutgoingFaceAngle(), BDSComponentFactory::PoleFaceRotationsNotTooLarge(), and PublishMembers().
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().
std::string GMAD::Element::fieldAll |
Field for everything.
Definition at line 212 of file element.h.
Referenced by flush(), print(), PublishMembers(), and BDSComponentFactory::SetFieldDefinitions().
std::string GMAD::Element::fieldOuter |
Outer field.
Definition at line 210 of file element.h.
Referenced by BDSComponentFactory::CreateMagnet(), flush(), PublishMembers(), and BDSComponentFactory::SetFieldDefinitions().
std::string GMAD::Element::fieldVacuum |
Vacuum field.
Definition at line 211 of file element.h.
Referenced by flush(), PublishMembers(), and BDSComponentFactory::SetFieldDefinitions().
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().
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().
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().
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().
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().
std::string GMAD::Element::geometryFile |
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().
double GMAD::Element::h1 |
input pole face curvature for bends
Definition at line 67 of file element.h.
Referenced by flush(), and PublishMembers().
double GMAD::Element::h2 |
output pole face curvature for bends
Definition at line 68 of file element.h.
Referenced by flush(), and PublishMembers().
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().
double GMAD::Element::hkick |
fractional delta px for hkicker
Definition at line 70 of file element.h.
Referenced by flush(), BDSComponentFactory::GetKickValue(), and PublishMembers().
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().
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().
double GMAD::Element::k1 |
quadrupole
Definition at line 54 of file element.h.
Referenced by flush(), BDS::GetDipoleIntegratorType(), BDSComponentFactory::IncomingFaceAngle(), BDSComponentFactory::OutgoingFaceAngle(), print(), and PublishMembers().
double GMAD::Element::k2 |
sextupole
Definition at line 55 of file element.h.
Referenced by flush(), print(), and PublishMembers().
double GMAD::Element::k3 |
octupole
Definition at line 56 of file element.h.
Referenced by flush(), print(), and PublishMembers().
double GMAD::Element::k4 |
decapole
Definition at line 57 of file element.h.
Referenced by flush(), print(), and PublishMembers().
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().
double GMAD::Element::kick1 |
rmatrix elements, only 4x4
Definition at line 82 of file element.h.
Referenced by flush(), BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::kick2 |
rmatrix elements, only 4x4
Definition at line 83 of file element.h.
Referenced by flush(), BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::kick3 |
rmatrix elements, only 4x4
Definition at line 84 of file element.h.
Referenced by flush(), BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::kick4 |
rmatrix elements, only 4x4
Definition at line 85 of file element.h.
Referenced by flush(), BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
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().
double GMAD::Element::ks |
solenoid
Definition at line 52 of file element.h.
Referenced by flush(), print(), and PublishMembers().
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().
double GMAD::Element::l |
length in metres
Definition at line 49 of file element.h.
Referenced by BDSLinkDetectorConstruction::AddLinkCollimatorJaw(), BDS::BuildSBendLine(), BDSComponentFactory::CalculateAngleAndFieldRBend(), BDSComponentFactory::CalculateAngleAndFieldSBend(), BDSComponentFactory::CreateComponent(), BDSComponentFactory::CreateMagnet(), GMAD::Parser::expand_line(), flush(), BDSComponentFactory::HasSufficientMinimumLength(), BDSBeamlineIntegral::Integrate(), BDSComponentFactory::PrepareCavityModelInfoForElement(), BDSComponentFactory::PrepareCavityStrength(), BDSComponentFactory::PrepareMagnetStrengthForMultipoles(), print(), and PublishMembers().
std::list<int> GMAD::Element::layerIsSampler |
std::list<std::string> GMAD::Element::layerMaterials |
std::list<double> GMAD::Element::layerThicknesses |
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().
double GMAD::Element::materialThickness |
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().
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().
std::string GMAD::Element::namedVacuumVolumes |
For imported geometry - identify vacuum volumes.
Definition at line 221 of file element.h.
Referenced by flush(), and PublishMembers().
int GMAD::Element::numberWedges |
double GMAD::Element::offsetX |
offset X
Definition at line 129 of file element.h.
Referenced by BDSLinkDetectorConstruction::AddLinkCollimatorJaw(), BDSComponentFactory::CreateTiltOffset(), flush(), and PublishMembers().
double GMAD::Element::offsetY |
offset Y
Definition at line 130 of file element.h.
Referenced by BDSLinkDetectorConstruction::AddLinkCollimatorJaw(), BDSComponentFactory::CreateTiltOffset(), flush(), and PublishMembers().
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().
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().
double GMAD::Element::psi |
for 3d transforms
Definition at line 161 of file element.h.
Referenced by flush(), print(), and PublishMembers().
std::string GMAD::Element::region |
region with range cuts
Definition at line 209 of file element.h.
Referenced by BDSLinkDetectorConstruction::AddLinkCollimatorJaw(), BDSComponentFactory::CreateComponent(), flush(), and PublishMembers().
double GMAD::Element::rmat11 |
rmatrix elements, only 4x4
Definition at line 86 of file element.h.
Referenced by flush(), BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat12 |
rmatrix elements, only 4x4
Definition at line 87 of file element.h.
Referenced by flush(), BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat13 |
rmatrix elements, only 4x4
Definition at line 88 of file element.h.
Referenced by flush(), BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat14 |
rmatrix elements, only 4x4
Definition at line 89 of file element.h.
Referenced by flush(), BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat21 |
rmatrix elements, only 4x4
Definition at line 90 of file element.h.
Referenced by flush(), BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat22 |
rmatrix elements, only 4x4
Definition at line 91 of file element.h.
Referenced by flush(), BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat23 |
rmatrix elements, only 4x4
Definition at line 92 of file element.h.
Referenced by flush(), BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat24 |
rmatrix elements, only 4x4
Definition at line 93 of file element.h.
Referenced by flush(), BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat31 |
rmatrix elements, only 4x4
Definition at line 94 of file element.h.
Referenced by flush(), BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat32 |
rmatrix elements, only 4x4
Definition at line 95 of file element.h.
Referenced by flush(), BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat33 |
rmatrix elements, only 4x4
Definition at line 96 of file element.h.
Referenced by flush(), BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat34 |
rmatrix elements, only 4x4
Definition at line 97 of file element.h.
Referenced by flush(), BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat41 |
rmatrix elements, only 4x4
Definition at line 98 of file element.h.
Referenced by flush(), BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat42 |
rmatrix elements, only 4x4
Definition at line 99 of file element.h.
Referenced by flush(), BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat43 |
rmatrix elements, only 4x4
Definition at line 100 of file element.h.
Referenced by flush(), BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat44 |
rmatrix elements, only 4x4
Definition at line 101 of file element.h.
Referenced by flush(), BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
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().
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().
double GMAD::Element::samplerRadius |
radius for cylindrical sampler
Definition at line 203 of file element.h.
Referenced by flush(), print(), PublishMembers(), and setSamplerInfo().
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().
double GMAD::Element::scaling |
Overall scaling of field strength.
Definition at line 50 of file element.h.
Referenced by BDSComponentFactory::EFieldFromElement(), flush(), BDSComponentFactory::PrepareMagnetStrengthForMultipoles(), BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), print(), and PublishMembers().
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().
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().
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().
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().
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().
double GMAD::Element::screenYSize |
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().
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().
double GMAD::Element::tilt |
tilt
Definition at line 124 of file element.h.
Referenced by BDSLinkDetectorConstruction::AddLinkCollimatorJaw(), BDSComponentFactory::CreateTiltOffset(), flush(), and PublishMembers().
double GMAD::Element::tmount |
thickness of the screen mount
Definition at line 135 of file element.h.
Referenced by flush(), print(), and PublishMembers().
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().
double GMAD::Element::tscint |
thickness of scintillating part of screen
Definition at line 133 of file element.h.
Referenced by flush(), print(), and PublishMembers().
double GMAD::Element::twindow |
thickness of window
Definition at line 134 of file element.h.
Referenced by flush(), print(), and PublishMembers().
ElementType GMAD::Element::type |
element enum
Definition at line 44 of file element.h.
Referenced by GMAD::Parser::add_element_temp(), BDSLinkDetectorConstruction::AddLinkCollimatorJaw(), BDSComponentFactory::BendAngle(), BDS::BuildRBendLine(), BDS::BuildSBendLine(), GMAD::Parser::copy_element_to_params(), BDSComponentFactory::CreateComponent(), GMAD::Parser::expand_line(), flush(), BDSComponentFactory::IncomingFaceAngle(), BDSBeamlineIntegral::Integrate(), isSpecial(), BDSComponentFactory::OutgoingFaceAngle(), BDSComponentFactory::PrepareColour(), BDSComponentFactory::PrepareMagnetStrengthForMultipoles(), print(), set(), and BDSComponentFactory::SetFieldDefinitions().
double GMAD::Element::undulatorGap |
for undulator
Definition at line 184 of file element.h.
Referenced by flush(), and PublishMembers().
double GMAD::Element::undulatorMagnetHeight |
for undulator
Definition at line 185 of file element.h.
Referenced by flush(), and PublishMembers().
double GMAD::Element::undulatorPeriod |
for undulator
Definition at line 183 of file element.h.
Referenced by flush(), and PublishMembers().
std::string GMAD::Element::userParameters |
String for passing user parameters through.
Definition at line 47 of file element.h.
Referenced by flush(), and PublishMembers().
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().
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().
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().
double GMAD::Element::vkick |
fractional delta py for vkicker
Definition at line 71 of file element.h.
Referenced by flush(), BDSComponentFactory::GetKickValue(), and PublishMembers().
double GMAD::Element::waveLength |
for laser wire and 3d transforms
Definition at line 160 of file element.h.
Referenced by flush(), print(), and PublishMembers().
double GMAD::Element::wedgeLength |
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().
double GMAD::Element::windowScreenGap |
air gap between window and screen
Definition at line 136 of file element.h.
Referenced by flush(), print(), and PublishMembers().
double GMAD::Element::wireAngle |
for wirescanner
Definition at line 179 of file element.h.
Referenced by flush(), and PublishMembers().
double GMAD::Element::wireDiameter |
for wirescanner
Definition at line 174 of file element.h.
Referenced by flush(), and PublishMembers().
double GMAD::Element::wireLength |
for wirescanner
Definition at line 175 of file element.h.
Referenced by flush(), and PublishMembers().
double GMAD::Element::wireOffsetX |
for wirescanner
Definition at line 176 of file element.h.
Referenced by flush(), and PublishMembers().
double GMAD::Element::wireOffsetY |
for wirescanner
Definition at line 177 of file element.h.
Referenced by flush(), and PublishMembers().
double GMAD::Element::wireOffsetZ |
for wirescanner
Definition at line 178 of file element.h.
Referenced by flush(), and PublishMembers().
double GMAD::Element::xdir |
for 3d transform and laser
Definition at line 156 of file element.h.
Referenced by flush(), print(), and PublishMembers().
double GMAD::Element::xsizeRight |
individual collimator jaw half widths
Definition at line 127 of file element.h.
Referenced by BDSLinkDetectorConstruction::AddLinkCollimatorJaw(), flush(), and PublishMembers().
double GMAD::Element::ydir |
for 3d transform and laser
Definition at line 157 of file element.h.
Referenced by flush(), print(), and PublishMembers().
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().
double GMAD::Element::ysizeOut |
collimator aperture or laser spotsize for laser
Definition at line 126 of file element.h.
Referenced by flush(), and PublishMembers().
double GMAD::Element::zdir |
for 3d transform and laser
Definition at line 158 of file element.h.
Referenced by flush(), print(), and PublishMembers().