OPAL (Object Oriented Parallel Accelerator Library)
2024.1
OPAL
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
Classic
AbsBeamline
BeamlineVisitor.cpp
Go to the documentation of this file.
1
//
2
// Class BeamlineVisitor
3
// The abstract class BeamlineVisitor is the base class for all visitors
4
// (algorithms) that can iterator over a beam line representation.
5
// A BeamlineVisitor applies itself to the representation via the
6
// ``Visitor'' pattern, see
7
// [p]
8
// E. Gamma, R. Helm, R. Johnson, and J. Vlissides,
9
// [BR]
10
// Design Patterns, Elements of Reusable Object-Oriented Software.
11
// [p]
12
// By using only pure abstract classes as an interface between the
13
// BeamlineVisitor and the beam line representation,
14
// we decouple the former from the implementation details of the latter.
15
// [p]
16
// The interface is defined in such a way that a visitor cannot modify the
17
// structure of a beam line, but it can assign special data like misalignments
18
// or integrators without problems.
19
//
20
// Copyright (c) 200x - 2020, Paul Scherrer Institut, Villigen PSI, Switzerland
21
// All rights reserved
22
//
23
// This file is part of OPAL.
24
//
25
// OPAL is free software: you can redistribute it and/or modify
26
// it under the terms of the GNU General Public License as published by
27
// the Free Software Foundation, either version 3 of the License, or
28
// (at your option) any later version.
29
//
30
// You should have received a copy of the GNU General Public License
31
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
32
//
33
34
#include "
AbsBeamline/BeamlineVisitor.h
"
35
36
BeamlineVisitor::BeamlineVisitor
()
37
{}
38
39
40
BeamlineVisitor::~BeamlineVisitor
()
41
{}
BeamlineVisitor::BeamlineVisitor
BeamlineVisitor()
Definition:
BeamlineVisitor.cpp:36
BeamlineVisitor.h
BeamlineVisitor::~BeamlineVisitor
virtual ~BeamlineVisitor()
Definition:
BeamlineVisitor.cpp:40
Generated on Tue Jul 2 2024 15:05:18 for OPAL (Object Oriented Parallel Accelerator Library) by
1.8.5