OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
Geometry.cpp
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2// $RCSfile: BGeometryBase.cpp,v $
3// ------------------------------------------------------------------------
4// $Revision: 1.1.1.1 $
5// ------------------------------------------------------------------------
6// Copyright: see Copyright.readme
7// ------------------------------------------------------------------------
8//
9// Class: BGeometryBase
10// Pure virtual base class for all Beamline Geometries
11//
12// ------------------------------------------------------------------------
13// Class category: BeamlineBGeometryBase
14// ------------------------------------------------------------------------
15//
16// $Date: 2000/03/27 09:32:34 $
17// $Author: fci $
18//
19// ------------------------------------------------------------------------
20
23
24
25// Class BGeometryBase.
26// ------------------------------------------------------------------------
27
29{}
30
31
33{}
34
35
37 return getArcLength() / 2.0;
38}
39
40
42 return - getOrigin();
43}
44
45
46double BGeometryBase::getExit() const {
47 return getArcLength() - getOrigin();
48}
49
50
52 return getTransform(getExit(), getEntrance());
53}
54
55
57 return getTransform(0.0, s);
58}
59
60
62 return getTransform(0.0, getEntrance());
63}
64
65
67 return getTransform(0.0, getExit());
68}
69
70
72 return Euclid3D::identity();
73}
74
75
77 return Euclid3D::identity();
78}
Displacement and rotation in space.
Definition: Euclid3D.h:68
static Euclid3D identity()
Make identity.
Definition: Euclid3D.cpp:147
virtual Euclid3D getTransform(double fromS, double toS) const =0
Get transform.
virtual Euclid3D getExitFrame() const
Get transform.
Definition: Geometry.cpp:66
virtual Euclid3D getExitPatch() const
Get patch.
Definition: Geometry.cpp:76
virtual void setElementLength(double length)
Set geometry length.
Definition: Geometry.cpp:32
virtual ~BGeometryBase()
Definition: Geometry.cpp:28
virtual double getEntrance() const
Get entrance position.
Definition: Geometry.cpp:41
virtual double getExit() const
Get exit position.
Definition: Geometry.cpp:46
virtual Euclid3D getTotalTransform() const
Get transform.
Definition: Geometry.cpp:51
virtual double getOrigin() const
Get origin position.
Definition: Geometry.cpp:36
virtual Euclid3D getEntranceFrame() const
Get transform.
Definition: Geometry.cpp:61
virtual Euclid3D getEntrancePatch() const
Get patch.
Definition: Geometry.cpp:71
virtual double getArcLength() const =0
Get arc length.