BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
Public Member Functions | Data Fields
GMAD::Parameters Struct Reference

Parameters - Element class with booleans. More...

#include <parameters.h>

Inheritance diagram for GMAD::Parameters:
Inheritance graph
Collaboration diagram for GMAD::Parameters:
Collaboration graph

Public Member Functions

void flush ()
 Reset the parameters to defaults and setMap.
 
void inherit_properties (const Element &e)
 
template<typename T >
void set_value (std::string property, T value)
 Set method by property name and value.
 
 Parameters ()
 Constructor.
 
- Public Member Functions inherited from GMAD::Element
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

std::map< std::string, bool > setMap
 Map that holds booleans for every member of element.
 
- Data Fields inherited from GMAD::Element
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
 

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.
 
- Protected Member Functions inherited from GMAD::Element
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)
 

Detailed Description

Parameters - Element class with booleans.

This is a temporary storage class of the parameters before the actual Element is created. The booleans are needed for inheritance and extension of already created Elements. The class is a singleton.

Author
Jochem Snuverink (based on I. Agapov)

Definition at line 44 of file parameters.h.

Constructor & Destructor Documentation

◆ Parameters()

Parameters::Parameters ( )

Constructor.

Definition at line 31 of file parameters.cc.

References setMap.

Member Function Documentation

◆ flush()

void Parameters::flush ( )

Reset the parameters to defaults and setMap.

Definition at line 205 of file parameters.cc.

References GMAD::Element::flush(), and setMap.

Referenced by GMAD::Parser::ClearParams(), and GMAD::Parser::Initialise().

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

◆ inherit_properties()

void Parameters::inherit_properties ( const Element e)

Copy parameters into temporary buffer params from element e Parameters already set in params have priority and are not overridden

Definition at line 213 of file parameters.cc.

References GMAD::Published< C >::set(), and setMap.

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

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

◆ set_value()

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

Set method by property name and value.

Definition at line 65 of file parameters.h.

References GMAD::Element::getPublishedName(), GMAD::Published< C >::set(), and setMap.

Here is the call graph for this function:

Field Documentation

◆ setMap

std::map<std::string,bool> GMAD::Parameters::setMap

Map that holds booleans for every member of element.

Definition at line 47 of file parameters.h.

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


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