OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
RangeSelector.h
Go to the documentation of this file.
1 #ifndef OPAL_RangeSelector_HH
2 #define OPAL_RangeSelector_HH
3 
4 // ------------------------------------------------------------------------
5 // $RCSfile: RangeSelector.h,v $
6 // ------------------------------------------------------------------------
7 // $Revision: 1.1.1.1 $
8 // ------------------------------------------------------------------------
9 // Copyright: see Copyright.readme
10 // ------------------------------------------------------------------------
11 //
12 // Class: RangeSelector
13 //
14 // ------------------------------------------------------------------------
15 //
16 // $Date: 2000/03/27 09:33:45 $
17 // $Author: Andreas Adelmann $
18 //
19 // ------------------------------------------------------------------------
20 
23 
24 class Beamline;
25 
26 
27 // Class RangeSelector
28 // ------------------------------------------------------------------------
30 // [tt]RangeSelector::handleXXX()[/tt] for each element or beamline in range.
31 
33 
34 public:
35 
37  // Attach visitor to a beamline, remember the range.
38  RangeSelector(const Beamline &, const RangeRep &range);
39 
40  virtual ~RangeSelector();
41 
43  virtual void execute();
44 
46  virtual void visitFlaggedElmPtr(const FlaggedElmPtr &);
47 
48 protected:
49 
51  // When overriding, make sure the beamline members are handled.
52  virtual void handleBeamline(const FlaggedElmPtr &);
53 
55  virtual void handleElement(const FlaggedElmPtr &);
56 
59 
60 private:
61 
62  // Not implemented.
63  RangeSelector();
65  void operator=(const RangeSelector &);
66 };
67 
68 #endif // OPAL_RangeSelector_HH
void operator=(const RangeSelector &)
virtual void handleElement(const FlaggedElmPtr &)
The operation to be done for elements.
An abstract visitor which calls the pure virtual method.
Definition: RangeSelector.h:32
RangeRep itsRange
Working data for range.
Definition: RangeSelector.h:58
Default algorithms.
virtual void handleBeamline(const FlaggedElmPtr &)
The operation to be done for beamlines.
virtual void visitFlaggedElmPtr(const FlaggedElmPtr &)
Apply the visitor to an FlaggedElmPtr.
virtual ~RangeSelector()
Representation of a range within a beam line or sequence.
Definition: RangeRep.h:34
An abstract sequence of beam line components.
Definition: Beamline.h:37
virtual void execute()
Execute the algorithm.
A section of a beam line.
Definition: FlaggedElmPtr.h:36