OPALX (Object Oriented Parallel Accelerator Library for Exascale)
MINIorX
OPALX
Beamline.h
Go to the documentation of this file.
1
#ifndef CLASSIC_Beamline_HH
2
#define CLASSIC_Beamline_HH
3
4
// ------------------------------------------------------------------------
5
// $RCSfile: Beamline.h,v $
6
// ------------------------------------------------------------------------
7
// $Revision: 1.1.1.1 $
8
// ------------------------------------------------------------------------
9
// Copyright: see Copyright.readme
10
// ------------------------------------------------------------------------
11
//
12
// Class: Beamline
13
//
14
// ------------------------------------------------------------------------
15
// Class category: Beamlines
16
// ------------------------------------------------------------------------
17
//
18
// $Date: 2000/03/27 09:32:34 $
19
// $Author: fci $
20
//
21
// ------------------------------------------------------------------------
22
23
#include "
AbsBeamline/ElementBase.h
"
24
25
#include "
Algorithms/Quaternion.hpp
"
26
27
// Class Beamline
28
// ------------------------------------------------------------------------
30
// A beam line is built as a list of objects derived from ElmPtr. Each
31
// ElmPtr (``element pointer'') points to a ElementBase, and may contain
32
// additional data describing the position, like lattice functions etc.
33
34
class
Beamline
:
public
ElementBase
{
35
public
:
37
explicit
Beamline
(
const
std::string& name);
38
39
Beamline
();
40
Beamline
(
const
Beamline
&);
41
virtual
~Beamline
();
42
44
// If the parameter [b]reverse[/b] is true, theline is traversed in
45
// reverse direction. If any error occurs, this method may throw an
46
// exception.
47
virtual
void
iterate
(
BeamlineVisitor
&,
bool
reverse)
const
= 0;
48
49
virtual
Vector_t<double, 3>
getOrigin3D
()
const
;
50
virtual
Quaternion
getInitialDirection
()
const
;
51
virtual
bool
getRelativeFlag
()
const
;
52
53
private
:
54
// Not implemented.
55
void
operator=
(
const
Beamline
&);
56
};
57
58
#endif
// CLASSIC_Beamline_HH
ElementBase.h
Quaternion.hpp
BeamlineVisitor
Definition:
BeamlineVisitor.h:61
ElementBase
Definition:
ElementBase.h:114
Quaternion
Definition:
Quaternion.hpp:6
Beamline
An abstract sequence of beam line components.
Definition:
Beamline.h:34
Beamline::~Beamline
virtual ~Beamline()
Definition:
Beamline.cpp:46
Beamline::getRelativeFlag
virtual bool getRelativeFlag() const
Definition:
Beamline.cpp:57
Beamline::iterate
virtual void iterate(BeamlineVisitor &, bool reverse) const =0
Apply visitor to all elements of the line.
Beamline::getInitialDirection
virtual Quaternion getInitialDirection() const
Definition:
Beamline.cpp:53
Beamline::Beamline
Beamline()
Definition:
Beamline.cpp:28
Beamline::operator=
void operator=(const Beamline &)
Beamline::getOrigin3D
virtual Vector_t< double, 3 > getOrigin3D() const
Definition:
Beamline.cpp:49
ippl::Vector
Definition:
Vector.h:23
src
Beamlines
Beamline.h
Generated on Fri Jan 23 2026 14:40:00 for OPALX (Object Oriented Parallel Accelerator Library for Exascale) by
1.9.3