OPAL (Object Oriented Parallel Accelerator Library)
2022.1
OPAL
src
src
Lines
SequenceMember.h
Go to the documentation of this file.
1
#ifndef OPAL_SequenceMember_HH
2
#define OPAL_SequenceMember_HH
3
4
// ------------------------------------------------------------------------
5
// $RCSfile: SequenceMember.h,v $
6
// ------------------------------------------------------------------------
7
// $Revision: 1.2 $
8
// ------------------------------------------------------------------------
9
// Copyright: see Copyright.readme
10
// ------------------------------------------------------------------------
11
//
12
// Class: SequenceMember
13
//
14
// ------------------------------------------------------------------------
15
//
16
// $Date: 2001/08/13 15:16:16 $
17
// $Author: jowett $
18
//
19
// ------------------------------------------------------------------------
20
21
#include "
Beamlines/FlaggedElmPtr.h
"
22
#include "
MemoryManagement/Pointer.h
"
23
#include "
AbstractObjects/Element.h
"
24
25
// Class SequenceMember
26
// ------------------------------------------------------------------------
28
29
class
SequenceMember
:
public
FlaggedElmPtr
{
30
31
public
:
32
33
// The code for different SequenceMember types.
34
enum
MemberType
{
35
UNKNOWN
= 0,
36
GLOBAL
= 1,
37
LOCAL
= 2,
38
GENERATED
= 3
39
};
40
41
// The code for different position types.
42
enum
PositionType
{
43
ABSOLUTE
= 0,
44
FROM
= 1,
45
PREVIOUS
= 2,
46
NEXT
= 3,
47
BEGIN
= 4,
48
END
= 5,
49
DRIFT
= 6,
50
IMMEDIATE
= 7
51
};
52
53
SequenceMember
();
54
SequenceMember
(
const
SequenceMember
&);
55
~SequenceMember
();
56
58
void
setLength
(
double
drift);
59
60
62
double
itsPosition
;
63
65
// Specific to the sequence parser, tells how the element is related
66
// to the preceding one.
67
PositionType
itsFlag
;
68
70
// Tells how the element is defined.
71
MemberType
itsType
;
72
73
// ada 4.5 2000 to speed up matching, add a pointer to
74
// opal elements in order to avoid searching the opal elements
75
Pointer<Element>
OpalElement
;
76
77
78
private
:
79
80
// Not implemented.
81
void
operator=
(
const
SequenceMember
&);
82
};
83
84
#endif
// OPAL_SequenceMember_HH
Pointer.h
FlaggedElmPtr.h
Element.h
FlaggedElmPtr
A section of a beam line.
Definition:
FlaggedElmPtr.h:36
Pointer< Element >
SequenceMember
A member of a SEQUENCE.
Definition:
SequenceMember.h:29
SequenceMember::SequenceMember
SequenceMember()
Definition:
SequenceMember.cpp:26
SequenceMember::PositionType
PositionType
Definition:
SequenceMember.h:42
SequenceMember::DRIFT
@ DRIFT
Definition:
SequenceMember.h:49
SequenceMember::BEGIN
@ BEGIN
Definition:
SequenceMember.h:47
SequenceMember::NEXT
@ NEXT
Definition:
SequenceMember.h:46
SequenceMember::IMMEDIATE
@ IMMEDIATE
Definition:
SequenceMember.h:50
SequenceMember::ABSOLUTE
@ ABSOLUTE
Definition:
SequenceMember.h:43
SequenceMember::END
@ END
Definition:
SequenceMember.h:48
SequenceMember::PREVIOUS
@ PREVIOUS
Definition:
SequenceMember.h:45
SequenceMember::FROM
@ FROM
Definition:
SequenceMember.h:44
SequenceMember::itsType
MemberType itsType
Type word.
Definition:
SequenceMember.h:71
SequenceMember::OpalElement
Pointer< Element > OpalElement
Definition:
SequenceMember.h:75
SequenceMember::MemberType
MemberType
Definition:
SequenceMember.h:34
SequenceMember::GLOBAL
@ GLOBAL
Definition:
SequenceMember.h:36
SequenceMember::GENERATED
@ GENERATED
Definition:
SequenceMember.h:38
SequenceMember::UNKNOWN
@ UNKNOWN
Definition:
SequenceMember.h:35
SequenceMember::LOCAL
@ LOCAL
Definition:
SequenceMember.h:37
SequenceMember::~SequenceMember
~SequenceMember()
Definition:
SequenceMember.cpp:41
SequenceMember::setLength
void setLength(double drift)
Store the drift length for a generated drift.
Definition:
SequenceMember.cpp:45
SequenceMember::itsPosition
double itsPosition
The position attribute ("AT" or "DRIFT").
Definition:
SequenceMember.h:62
SequenceMember::itsFlag
PositionType itsFlag
Flag word.
Definition:
SequenceMember.h:67
SequenceMember::operator=
void operator=(const SequenceMember &)
Generated on Thu Oct 20 2022 17:40:11 for OPAL (Object Oriented Parallel Accelerator Library) by
1.9.3