39 const Entry entries[] = {
83 static char plane[] =
"XYS";
85 for(
int i = 0; i < 3; i++) {
86 if(aKey[1] == plane[i]) {
92 }
else if(aKey[0] ==
'R') {
93 for(
int i = 0; i < 3; i++) {
94 if(aKey[1] == plane[i]) {
95 for(
int j = 0; j < 3; j++) {
96 if(aKey[2] == plane[j]) {
97 int index = 3 * i + j;
107 for(
const Entry *entry = entries; entry->name != 0; ++entry) {
108 if(aKey == entry->name) {
154 for(
const Entry *entry = entries; entry->name != 0; ++entry) {
155 image->
setAttribute(entry->name, (this->*(entry->get))());
180 return sigma(i1, i2);
Interface for basic beam line object.
virtual const Vector3D & getBunchDisplacement() const
Get displacement.
virtual ElementBase * clone() const
Return clone.
Representation of beam-beam interaction.
void setBunchMoment(const Matrix3D &)
Set moments.
double getMoment(int index) const
virtual double getBunchCharge() const
Get bunch charge.
virtual Channel * getChannel(const std::string &aKey, bool create=false)
Construct a read/write channel.
void setBunchDisplacement(const Vector3D &)
Set displacement.
void setMoment(int index, double)
A zero electromagnetic field.
Access to an indexed [b]double[/b] data member.
virtual ElementImage * getImage() const
Construct an image.
virtual double getElementLength() const
Get design length.
virtual NullGeometry & getGeometry()
Get geometry.
virtual ElementImage * getImage() const
Construct an image.
Geometry representing an identity transform.
Abstract beam-beam interaction.
void setAttribute(const std::string &aKey, double val)
Set value of an attribute.
virtual const Matrix3D & getBunchMoment() const
Get moments.
double getDisplacement(int index) const
Abstract interface for read/write access to variable.
void setDisplacement(int index, double)
void setBunchCharge(double)
Set the bunch charge.
virtual Channel * getChannel(const std::string &aKey, bool=false)
Construct a read/write channel.
virtual NullField & getField()
Get field.
Access to a [b]double[/b] data member.