112 csTrafoGlobal2Local_m(right.csTrafoGlobal2Local_m),
113 misalignment_m(right.misalignment_m),
114 aperture_m(right.aperture_m),
115 elementEdge_m(right.elementEdge_m),
116 rotationZAxis_m(right.rotationZAxis_m),
117 elementID(right.elementID),
118 userAttribs(right.userAttribs),
119 wake_m(right.wake_m),
120 bgeometry_m(right.bgeometry_m),
121 parmatint_m(right.parmatint_m),
122 positionIsFixed(right.positionIsFixed),
123 elementPosition_m(right.elementPosition_m),
124 elemedgeSet_m(right.elemedgeSet_m),
125 outputfn_m(right.outputfn_m),
126 deleteOnTransverseExit_m(right.deleteOnTransverseExit_m)
141 csTrafoGlobal2Local_m(),
144 rotationZAxis_m(0.0),
148 bgeometry_m(nullptr),
149 parmatint_m(nullptr),
150 positionIsFixed(false),
151 elementPosition_m(0.0),
152 elemedgeSet_m(false),
182 return filePath.replace_extension().native();
190 if (aChannel !=
nullptr) {
191 double val = *aChannel;
203 if (aChannel !=
nullptr) {
220 if (aChannel !=
nullptr && aChannel->
isSettable()) {
224 std::cout <<
"Channel nullptr or not Settable" <<
std::endl;
296 factor = fractionLength *
aperture_m.second[2];
305 return (
std::abs(r[0]) < factor * xLimit &&
std::abs(r[1]) < factor * yLimit);
307 return (
std::pow(r[0] / (factor * xLimit), 2) +
std::pow(r[1] / (factor * yLimit), 2) < 1.0);
321 std::vector<Vector_t> corners(8);
322 for (
int i = -1; i < 2; i += 2) {
323 for (
int j = -1; j < 2; j += 2) {
324 unsigned int idx = (i + 1)/2 + (j + 1);
static const std::map< ElementType, std::string > elementTypeToString_s
virtual void setBoundaryGeometry(BoundaryGeometry *geo)
Abstract base class for reference counted objects.
const_iterator begin() const
Iterator accessing first member.
const_iterator end() const
Iterator marking the end of the list.
virtual void setParticleMatterInteraction(ParticleMatterInteractionHandler *spys)
PETE_TUTree< FnAbs, typename T::PETE_Expr_t > abs(const PETE_Expr< T > &l)
virtual const ConstChannel * getConstChannel(const std::string &aKey) const
Construct a read-only channel.
Vektor< double, 3 > Vector_t
virtual CoordinateSystemTrafo getEdgeToEnd() const
ParticleMatterInteractionHandler * parmatint_m
std::string getTypeString() const
virtual Channel * getChannel(const std::string &aKey, bool create=false)
Construct a read/write channel.
virtual const std::string & getName() const
Get element name.
Inform & endl(Inform &inf)
Vector_t transformFrom(const Vector_t &r) const
virtual void setAttribute(const std::string &aKey, double val)
Set value of an attribute.
virtual void makeSharable()
Set sharable flag.
virtual double getAttribute(const std::string &aKey) const
Get attribute value.
bool isSharable() const
Test if the element can be shared.
BoundaryGeometry * bgeometry_m
virtual void setWake(WakeFunction *wf)
attach a wake field to the element
virtual CoordinateSystemTrafo getEdgeToBegin() const
CoordinateSystemTrafo csTrafoGlobal2Local_m
static BoundingBox getBoundingBox(const std::vector< Vector_t > &positions)
void setOutputFN(std::string fn)
Set output filename.
std::queue< std::pair< double, double > > actionRange_m
set(_SRCS Action.cpp Attribute.cpp AttributeBase.cpp AttributeHandler.cpp BeamSequence.cpp Definition.cpp Directory.cpp Element.cpp Invalidator.cpp OpalData.cpp Object.cpp ObjectFunction.cpp PlaceRep.cpp RangeRep.cpp Table.cpp TableRowRep.cpp ValueDefinition.cpp) include_directories($
Abstract interface for read/write access to variable.
NameMap::const_iterator const_iterator
An iterator for a map of name versus value.
virtual double getElementLength() const
Get design length.
Vector_t transformTo(const Vector_t &r) const
virtual bool hasAttribute(const std::string &aKey) const
Test for existence of an attribute.
virtual ElementBase * copyStructure()
Make a structural copy.
bool isInsideTransverse(const Vector_t &r) const
Map of std::string versus double value.
void updateElement(ElementBase *newref)
virtual ElementBase * clone() const =0
Return clone.
void removeAttribute(const std::string &aKey)
Remove an existing attribute.
virtual bool isSettable() const
Test if settable.
virtual void setName(const std::string &name)
Set element name.
void updateElement(ElementBase *element)
bool update(const AttributeSet &)
Update element.
void setCurrentSCoordinate(double s)
virtual BoundingBox getBoundingBoxInLabCoords() const
std::string getOutputFN() const
Get output filename.
Tps< T > pow(const Tps< T > &x, int y)
Integer power.
Channel * getChannel(const std::string &aKey, bool create=false)
Construct a read/write channel.
std::pair< ApertureType, std::vector< double > > aperture_m
virtual void removeAttribute(const std::string &aKey)
Remove an existing attribute.
Abstract interface for read-only access to variable.