OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
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 
22 #include "Utilities/LogicalError.h"
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 ~FlaggedElmPtr()
virtual void accept(BeamlineVisitor &) const
Apply visitor.
virtual void visitFlaggedElmPtr(const FlaggedElmPtr &)=0
Apply the algorithm to a FlaggedElmPtr.
Abstract algorithm.
A section of a beam line.
Definition: FlaggedElmPtr.h:36
A section of a beam line.
Definition: ElmPtr.h:32