OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
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// Class BeamSequence
26// ------------------------------------------------------------------------
28// It implements the common behaviour of sequences, it can also be used via
29// dynamic casting to determine whether an object represents a sequence.
30
31class BeamSequence : public Element {
32public:
33 virtual ~BeamSequence();
34
36 // Copy also the line list.
37 virtual BeamSequence* copy(const std::string& name) = 0;
38
40 static BeamSequence* find(const std::string& name);
41
43 // Return the string "SEQUENCE".
44 virtual const std::string getCategory() const;
45
47 // The result it the ideal line.
48 virtual Beamline* fetchLine() const = 0;
49
50protected:
52 BeamSequence(int size, const char* name, const char* help);
53
55 // The clone will be [b]empty[/b].
56 // It has to be filled in by the corresponding parser.
57 BeamSequence(const std::string& name, BeamSequence* parent);
58
59private:
60 // Not implemented.
63 void operator=(const BeamSequence&);
64};
65
66#endif // OPAL_BeamSequence_HH
The base class for all OPAL beam lines and sequences.
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 OPALX 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