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 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 ¶ms) |
set method from Parameters structure More... | |
void | set (const Parameters ¶ms, std::string nameIn, ElementType typeIn) |
set method from Parameters structure More... | |
![]() | |
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... | |
![]() | |
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. | |
T | 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 | |
![]() | |
using | AttributeMap = typename std::unordered_map< std::string, T C::* > |
Define AttributeMap of string and class member pointer. More... | |
Element::Element | ( | ) |
constructor
Definition at line 45 of file element.cc.
References flush(), and PublishMembers().
void Element::flush | ( | ) |
flush method
Definition at line 431 of file element.cc.
References type.
Referenced by Element(), and GMAD::Parameters::flush().
|
protected |
returns 'official' member name for property
Definition at line 259 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 276 of file element.cc.
References l, samplerParticleSetID, samplerRadius, samplerType, and type.
Referenced by BDSComponentFactory::CreateComponent().
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().
|
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().
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().
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.
void GMAD::Element::set_value | ( | std::string | property, |
T | value | ||
) |
Set methods by property name and value
Definition at line 284 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 690 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 276 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::CalculateAngleAndFieldRBend(), BDSComponentFactory::CalculateAngleAndFieldSBend(), BDSComponentFactory::GetKickValue(), 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 236 of file element.h.
Referenced by BDSComponentFactory::CalculateAngleAndFieldRBend(), BDSComponentFactory::CalculateAngleAndFieldSBend(), and set().
double GMAD::Element::aper1 |
beampipe information, new aperture model
Definition at line 106 of file element.h.
Referenced by BDSComponentFactory::PrepareBeamPipeInfo(), and PublishMembers().
double GMAD::Element::aper2 |
beampipe information, new aperture model
Definition at line 107 of file element.h.
Referenced by BDSComponentFactory::PrepareBeamPipeInfo(), and PublishMembers().
double GMAD::Element::aper3 |
beampipe information, new aperture model
Definition at line 108 of file element.h.
Referenced by BDSComponentFactory::PrepareBeamPipeInfo(), and PublishMembers().
double GMAD::Element::aper4 |
beampipe information, new aperture model
Definition at line 109 of file element.h.
Referenced by BDSComponentFactory::PrepareBeamPipeInfo(), and PublishMembers().
std::string GMAD::Element::apertureType |
beampipe information, new aperture model
Definition at line 110 of file element.h.
Referenced by BDSComponentFactory::PrepareBeamPipeInfo(), and PublishMembers().
bool GMAD::Element::autoColour |
Automagically colour the external geometry.
Definition at line 214 of file element.h.
Referenced by BDSComponentFactory::PrepareMagnetOuterInfo(), and PublishMembers().
double GMAD::Element::awakeMagnetOffsetX |
for AWAKE spectrometer
Phosphor particle size in screen
Definition at line 147 of file element.h.
Referenced by PublishMembers().
double GMAD::Element::B |
magnetic field
Definition at line 59 of file element.h.
Referenced by BDSComponentFactory::CalculateAngleAndFieldRBend(), BDSComponentFactory::CalculateAngleAndFieldSBend(), and PublishMembers().
std::string GMAD::Element::beampipeMaterial |
beampipe information, new aperture model
Definition at line 111 of file element.h.
Referenced by BDSComponentFactory::PrepareBeamPipeInfo(), and PublishMembers().
double GMAD::Element::beampipeThickness |
beampipe information, new aperture model
Definition at line 105 of file element.h.
Referenced by BDSComponentFactory::PrepareBeamPipeInfo(), and PublishMembers().
std::string GMAD::Element::bias |
temporary string for bias setting
Definition at line 187 of file element.h.
Referenced by PublishMembers(), and set().
std::string GMAD::Element::biasMaterial |
temporary string for bias setting
Definition at line 188 of file element.h.
Referenced by PublishMembers(), and set().
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().
std::string GMAD::Element::biasVacuum |
temporary string for bias setting
Definition at line 189 of file element.h.
Referenced by PublishMembers(), and set().
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().
std::string GMAD::Element::cavityModel |
model for rf cavities
Definition at line 219 of file element.h.
Referenced by BDSComponentFactory::PrepareCavityModelInfo(), and PublishMembers().
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().
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().
std::string GMAD::Element::colour |
Override colour for certain items.
Definition at line 225 of file element.h.
Referenced by 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 222 of file element.h.
Referenced by PublishMembers().
std::string GMAD::Element::dicomDataPath |
for CT, file for DICOM construction data
Definition at line 221 of file element.h.
Referenced by PublishMembers().
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().
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(), 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(), BDSComponentFactory::OutgoingFaceAngle(), BDSComponentFactory::PoleFaceRotationsNotTooLarge(), and PublishMembers().
std::string GMAD::Element::fieldAll |
Field for everything.
Definition at line 210 of file element.h.
Referenced by PublishMembers(), and BDSComponentFactory::SetFieldDefinitions().
std::string GMAD::Element::fieldOuter |
Outer field.
Definition at line 208 of file element.h.
Referenced by BDSComponentFactory::CreateMagnet(), PublishMembers(), and BDSComponentFactory::SetFieldDefinitions().
std::string GMAD::Element::fieldVacuum |
Vacuum field.
Definition at line 209 of file element.h.
Referenced by 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(), 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 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(), 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 PublishMembers().
double GMAD::Element::frequency |
frequency for rf cavity in Hz
Definition at line 76 of file element.h.
Referenced by BDSComponentFactory::PrepareCavityStrength(), and PublishMembers().
std::string GMAD::Element::geometryFile |
For Element. File for external geometry.
Definition at line 212 of file element.h.
Referenced by PublishMembers().
double GMAD::Element::gradient |
for rf cavities in V / m
Definition at line 74 of file element.h.
Referenced by BDSComponentFactory::PrepareCavityStrength(), and PublishMembers().
double GMAD::Element::h1 |
input pole face curvature for bends
Definition at line 67 of file element.h.
Referenced by PublishMembers().
double GMAD::Element::h2 |
output pole face curvature for bends
Definition at line 68 of file element.h.
Referenced by 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(), and PublishMembers().
double GMAD::Element::hkick |
fractional delta px for hkicker
Definition at line 70 of file element.h.
Referenced by BDSComponentFactory::GetKickValue(), and PublishMembers().
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().
double GMAD::Element::k1 |
quadrupole
Definition at line 54 of file element.h.
Referenced by BDS::GetDipoleIntegratorType(), BDSComponentFactory::IncomingFaceAngle(), BDSComponentFactory::OutgoingFaceAngle(), and PublishMembers().
double GMAD::Element::k2 |
double GMAD::Element::k3 |
double GMAD::Element::k4 |
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().
double GMAD::Element::kick1 |
rmatrix elements, only 4x4
Definition at line 81 of file element.h.
Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::kick2 |
rmatrix elements, only 4x4
Definition at line 82 of file element.h.
Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::kick3 |
rmatrix elements, only 4x4
Definition at line 83 of file element.h.
Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::kick4 |
rmatrix elements, only 4x4
Definition at line 84 of file element.h.
Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
std::list<double> GMAD::Element::knl |
multipole expansion coefficients
Definition at line 72 of file element.h.
Referenced by BDSComponentFactory::PrepareMagnetStrengthForMultipoles(), and PublishMembers().
double GMAD::Element::ks |
std::list<double> GMAD::Element::ksl |
skew multipole expansion
Definition at line 73 of file element.h.
Referenced by BDSComponentFactory::PrepareMagnetStrengthForMultipoles(), and PublishMembers().
double GMAD::Element::l |
length in metres
Definition at line 49 of file element.h.
Referenced by BDS::BuildSBendLine(), BDSComponentFactory::CalculateAngleAndFieldRBend(), BDSComponentFactory::CalculateAngleAndFieldSBend(), BDSComponentFactory::CreateComponent(), BDSComponentFactory::CreateMagnet(), BDSComponentFactory::HasSufficientMinimumLength(), 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 241 of file element.h.
Referenced by GMAD::Parser::add_element_temp(), 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 197 of file element.h.
Referenced by BDSComponentFactory::CreateComponent(), and PublishMembers().
std::string GMAD::Element::mountmaterial |
for AWAKE spectrometer
Phosphor particle size in screen
Definition at line 150 of file element.h.
Referenced by PublishMembers().
std::string GMAD::Element::namedVacuumVolumes |
For imported geometry - identify vacuum volumes.
Definition at line 216 of file element.h.
Referenced by PublishMembers().
int GMAD::Element::numberWedges |
double GMAD::Element::offsetX |
offset X
Definition at line 127 of file element.h.
Referenced by BDSComponentFactory::CreateTiltOffset(), and PublishMembers().
double GMAD::Element::offsetY |
offset Y
Definition at line 128 of file element.h.
Referenced by BDSComponentFactory::CreateTiltOffset(), and PublishMembers().
double GMAD::Element::phase |
phase of rf cavity (rad)
Definition at line 77 of file element.h.
Referenced by BDSComponentFactory::PrepareCavityStrength(), and PublishMembers().
double GMAD::Element::poleStartZ |
for AWAKE spectrometer
Phosphor particle size in screen
Definition at line 145 of file element.h.
Referenced by PublishMembers().
double GMAD::Element::psi |
std::string GMAD::Element::region |
region with range cuts
Definition at line 207 of file element.h.
Referenced by BDSComponentFactory::CreateComponent(), and PublishMembers().
double GMAD::Element::rmat11 |
rmatrix elements, only 4x4
Definition at line 85 of file element.h.
Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat12 |
rmatrix elements, only 4x4
Definition at line 86 of file element.h.
Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat13 |
rmatrix elements, only 4x4
Definition at line 87 of file element.h.
Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat14 |
rmatrix elements, only 4x4
Definition at line 88 of file element.h.
Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat21 |
rmatrix elements, only 4x4
Definition at line 89 of file element.h.
Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat22 |
rmatrix elements, only 4x4
Definition at line 90 of file element.h.
Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat23 |
rmatrix elements, only 4x4
Definition at line 91 of file element.h.
Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat24 |
rmatrix elements, only 4x4
Definition at line 92 of file element.h.
Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat31 |
rmatrix elements, only 4x4
Definition at line 93 of file element.h.
Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat32 |
rmatrix elements, only 4x4
Definition at line 94 of file element.h.
Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat33 |
rmatrix elements, only 4x4
Definition at line 95 of file element.h.
Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat34 |
rmatrix elements, only 4x4
Definition at line 96 of file element.h.
Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat41 |
rmatrix elements, only 4x4
Definition at line 97 of file element.h.
Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat42 |
rmatrix elements, only 4x4
Definition at line 98 of file element.h.
Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat43 |
rmatrix elements, only 4x4
Definition at line 99 of file element.h.
Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
double GMAD::Element::rmat44 |
rmatrix elements, only 4x4
Definition at line 100 of file element.h.
Referenced by BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), and PublishMembers().
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().
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().
double GMAD::Element::samplerRadius |
radius for cylindrical sampler
Definition at line 201 of file element.h.
Referenced by print(), PublishMembers(), and setSamplerInfo().
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().
double GMAD::Element::scaling |
Overall scaling of field strength.
Definition at line 50 of file element.h.
Referenced by BDSComponentFactory::PrepareCavityStrength(), BDSComponentFactory::PrepareMagnetStrengthForMultipoles(), BDSComponentFactory::PrepareMagnetStrengthForRMatrix(), 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 PublishMembers(), and BDSComponentFactory::SetFieldDefinitions().
std::string GMAD::Element::scintmaterial |
for AWAKE spectrometer
Phosphor particle size in screen
Definition at line 149 of file element.h.
Referenced by PublishMembers().
double GMAD::Element::screenEndZ |
for AWAKE spectrometer
Phosphor particle size in screen
Definition at line 144 of file element.h.
Referenced by PublishMembers().
double GMAD::Element::screenPSize |
for AWAKE spectrometer
Phosphor particle size in screen
Definition at line 143 of file element.h.
Referenced by PublishMembers().
double GMAD::Element::screenWidth |
for AWAKE spectrometer
Phosphor particle size in screen
Definition at line 146 of file element.h.
Referenced by PublishMembers().
double GMAD::Element::screenYSize |
std::string GMAD::Element::spec |
arbitrary specification to pass to beamline builder
Definition at line 218 of file element.h.
Referenced by PublishMembers().
bool GMAD::Element::stripOuterVolume |
For Element. Make it an assembly.
Definition at line 213 of file element.h.
Referenced by BDSComponentFactory::PrepareMagnetOuterInfo(), and PublishMembers().
double GMAD::Element::tilt |
tilt
Definition at line 123 of file element.h.
Referenced by BDSComponentFactory::CreateTiltOffset(), and PublishMembers().
double GMAD::Element::tmount |
thickness of the screen mount
Definition at line 133 of file element.h.
Referenced by PublishMembers().
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().
double GMAD::Element::tscint |
thickness of scintillating part of screen
Definition at line 131 of file element.h.
Referenced by PublishMembers().
double GMAD::Element::twindow |
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(), isSpecial(), BDSComponentFactory::OutgoingFaceAngle(), BDSComponentFactory::PrepareColour(), BDSComponentFactory::PrepareMagnetStrengthForMultipoles(), print(), and set().
double GMAD::Element::undulatorGap |
double GMAD::Element::undulatorMagnetHeight |
double GMAD::Element::undulatorPeriod |
std::string GMAD::Element::userParameters |
String for passing user parameters through.
Definition at line 47 of file element.h.
Referenced by PublishMembers().
std::string GMAD::Element::userTypeName |
User component element type name.
Definition at line 46 of file element.h.
Referenced by BDSComponentFactory::CreateComponent(), and PublishMembers().
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().
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().
double GMAD::Element::vkick |
fractional delta py for vkicker
Definition at line 71 of file element.h.
Referenced by BDSComponentFactory::GetKickValue(), and PublishMembers().
double GMAD::Element::waveLength |
for laser wire and 3d transforms
Definition at line 158 of file element.h.
Referenced by PublishMembers().
double GMAD::Element::wedgeLength |
std::string GMAD::Element::windowmaterial |
for AWAKE spectrometer
Phosphor particle size in screen
Definition at line 148 of file element.h.
Referenced by PublishMembers().
double GMAD::Element::windowScreenGap |
air gap between window and screen
Definition at line 134 of file element.h.
Referenced by PublishMembers().
double GMAD::Element::wireAngle |
double GMAD::Element::wireDiameter |
double GMAD::Element::wireLength |
double GMAD::Element::wireOffsetX |
double GMAD::Element::wireOffsetY |
double GMAD::Element::wireOffsetZ |
double GMAD::Element::xdir |
for 3d transform and laser
Definition at line 154 of file element.h.
Referenced by PublishMembers().
double GMAD::Element::xsizeRight |
individual collimator jaw half widths
Definition at line 126 of file element.h.
Referenced by PublishMembers().
double GMAD::Element::ydir |
for 3d transform and laser
Definition at line 155 of file element.h.
Referenced by PublishMembers().
double GMAD::Element::ysize |
collimator aperture or laser spotsize for laser
Definition at line 124 of file element.h.
Referenced by PublishMembers().
double GMAD::Element::ysizeOut |
collimator aperture or laser spotsize for laser
Definition at line 125 of file element.h.
Referenced by PublishMembers().
double GMAD::Element::zdir |
for 3d transform and laser
Definition at line 156 of file element.h.
Referenced by PublishMembers().