1 #ifndef OPAL_Flatten_HH
2 #define OPAL_Flatten_HH
79 template <
class Member>
inline
86 template <
class Member>
inline
91 template <
class Member>
inline
93 itsTable.push_back(Member(
Element::find(
"#S")->getElement(), 0));
95 itsTable.push_back(Member(
Element::find(
"#E")->getElement(), 0));
99 template <
class Member>
inline void
104 if(itsRange.isActive()) {
109 Member member(patch, 0);
110 itsTable.push_back(member);
116 if(itsRange.isActive()) {
121 Member member(patch, 0);
122 itsTable.push_back(member);
127 template <
class Member>
void
129 if(itsRange.isActive()) {
133 itsTable.push_back(member);
138 #endif // OPAL_Flatten_HH
virtual void handleBeamline(const FlaggedElmPtr &)
The operation to be done for beamlines.
Define the position of a misaligned element.
virtual Euclid3D getEntranceTransform() const
Get entrance patch.
An abstract visitor which calls the pure virtual method.
virtual const std::string & getName() const
Get element name.
Representation for a geometry patch.
virtual Euclid3D getExitTransform() const
Get exit patch.
virtual void handleBeamline(const FlaggedElmPtr &)
The operation to be done for beamlines.
Displacement and rotation in space.
void operator=(const Flatten< Member > &)
virtual void execute()
Apply the algorithm to the top-level beamline.
Representation of a range within a beam line or sequence.
An abstract sequence of beam line components.
virtual void handleElement(const FlaggedElmPtr &)
The operation to be done for elements.
static Element * find(const std::string &name)
Find named Element.
TBeamline< Member > & itsTable
The flat list to be filled.
void setPatch(const Euclid3D &euclid)
Set patch.
virtual ElementBase * makeAlignWrapper()
Allow misalignment.
ElementBase * getElement() const
Get the element pointer.
virtual void execute()
Execute the algorithm.
A section of a beam line.