OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
FlaggedElmPtr.cpp
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2// $RCSfile: FlaggedElmPtr.cpp,v $
3// ------------------------------------------------------------------------
4// $Revision: 1.1.1.1 $
5// ------------------------------------------------------------------------
6// Copyright: see Copyright.readme
7// ------------------------------------------------------------------------
8//
9// Class: FlaggedElmPtr
10//
11// ------------------------------------------------------------------------
12// Class category: Beamlines
13// ------------------------------------------------------------------------
14//
15// $Date: 2000/03/27 09:32:35 $
16// $Author: fci $
17//
18// ------------------------------------------------------------------------
19
23#include <stdexcept>
24
25
26// Class FlaggedElmPtr
27// ------------------------------------------------------------------------
28
30(const ElmPtr &elem, bool reflected, bool selected):
31 ElmPtr(elem),
32 itsCounter(0),
33 isReflected(reflected),
34 isSelected(selected)
35{}
36
37
39 ElmPtr(),
40 itsCounter(0),
41 isReflected(false),
42 isSelected(false)
43{}
44
45
47 ElmPtr(rhs),
48 itsCounter(rhs.itsCounter),
49 isReflected(rhs.isReflected),
50 isSelected(rhs.isSelected)
51{}
52
53
55{}
56
57
59 v.visitFlaggedElmPtr(*this);
60}
virtual void visitFlaggedElmPtr(const FlaggedElmPtr &)=0
Apply the algorithm to a FlaggedElmPtr.
A section of a beam line.
Definition: ElmPtr.h:32
A section of a beam line.
Definition: FlaggedElmPtr.h:36
virtual ~FlaggedElmPtr()
virtual void accept(BeamlineVisitor &) const
Apply visitor.