21#ifndef OPAL_Sequence_HH
22#define OPAL_Sequence_HH
82 virtual void print(std::ostream &)
const;
std::string::iterator iterator
The base class for all OPAL beam lines and sequences.
ReferenceType
Reference for element positioning.
The base class for all OPAL objects.
Interface for statements.
Abstract interface for a stream of input tokens.
virtual double getLength() const
Return sequence length.
TBeamline< SequenceMember > TLine
The type of a sequence line.
virtual void print(std::ostream &) const
Print sequence.
virtual Object * makeTemplate(const std::string &, TokenStream &, Statement &)
Make a sequence template.
void insertDrifts(TLine &line)
Sequence()
Exemplar constructor.
virtual double getExit(ReferenceType) const
Return the arc length from origin to exit.
virtual double getEntrance(ReferenceType) const
Return the arc length from origin to entrance.
virtual void update()
Update the embedded CLASSIC beam line.
TLine::iterator findNamedPosition(TLine &, const std::string &) const
void operator=(const Sequence &)
virtual TLine * fetchLine() const
Return the embedded CLASSIC beam line.
Sequence(const Sequence &)
virtual Sequence * clone(const std::string &name)
Make clone.
void storeLine(TLine &line)
Store sequence line.
virtual void replace(Object *oldObject, Object *newObject)
Replace references to elements.
virtual Sequence * copy(const std::string &name)
Make copy of the sequence line.
void addEndMarkers(TLine &line) const
virtual void parse(Statement &)
Parse sequence.
ReferenceType getReference() const
Return the reference type flag.
double findDriftLength(TLine::iterator drift) const
static void updateList(Sequence *, TLine *)
The parser for SEQUENCE members.