OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
BeamSequence.h
Go to the documentation of this file.
1#ifndef OPAL_BeamSequence_HH
2#define OPAL_BeamSequence_HH
3
4// ------------------------------------------------------------------------
5// $RCSfile: BeamSequence.h,v $
6// ------------------------------------------------------------------------
7// $Revision: 1.1.1.1 $
8// ------------------------------------------------------------------------
9// Copyright: see Copyright.readme
10// ------------------------------------------------------------------------
11//
12// Class: BeamSequence
13//
14// ------------------------------------------------------------------------
15//
16// $Date: 2000/03/27 09:33:34 $
17// $Author: Andreas Adelmann $
18//
19// ------------------------------------------------------------------------
20
22
23class Beamline;
24
25
26// Class BeamSequence
27// ------------------------------------------------------------------------
29// It implements the common behaviour of sequences, it can also be used via
30// dynamic casting to determine whether an object represents a sequence.
31
32class BeamSequence: public Element {
33
34public:
35
36 virtual ~BeamSequence();
37
39 // Copy also the line list.
40 virtual BeamSequence *copy(const std::string &name) = 0;
41
43 static BeamSequence *find(const std::string &name);
44
46 // Return the string "SEQUENCE".
47 virtual const std::string getCategory() const;
48
50 // The result it the ideal line.
51 virtual Beamline *fetchLine() const = 0;
52
53protected:
54
56 BeamSequence(int size, const char *name, const char *help);
57
59 // The clone will be [b]empty[/b].
60 // It has to be filled in by the corresponding parser.
61 BeamSequence(const std::string &name, BeamSequence *parent);
62
63private:
64
65 // Not implemented.
68 void operator=(const BeamSequence &);
69};
70
71#endif // OPAL_BeamSequence_HH
const std::string name
The base class for all OPAL beam lines and sequences.
Definition: BeamSequence.h:32
void operator=(const BeamSequence &)
virtual const std::string getCategory() const
Return the object category as a string.
virtual Beamline * fetchLine() const =0
Return the embedded CLASSIC beam line.
virtual ~BeamSequence()
virtual BeamSequence * copy(const std::string &name)=0
Make complete copy.
BeamSequence(const BeamSequence &)
static BeamSequence * find(const std::string &name)
Find a BeamSequence by name.
An abstract sequence of beam line components.
Definition: Beamline.h:34