OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
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 
36 double BGeometryBase::getOrigin() const {
37  return getArcLength() / 2.0;
38 }
39 
40 
42  return - getOrigin();
43 }
44 
45 
46 double 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 }
virtual Euclid3D getTransform(double fromS, double toS) const =0
Get transform.
virtual double getEntrance() const
Get entrance position.
Definition: Geometry.cpp:41
virtual Euclid3D getEntranceFrame() const
Get transform.
Definition: Geometry.cpp:61
virtual double getOrigin() const
Get origin position.
Definition: Geometry.cpp:36
virtual void setElementLength(double length)
Set geometry length.
Definition: Geometry.cpp:32
virtual double getExit() const
Get exit position.
Definition: Geometry.cpp:46
static Euclid3D identity()
Make identity.
Definition: Euclid3D.cpp:147
virtual Euclid3D getTotalTransform() const
Get transform.
Definition: Geometry.cpp:51
Displacement and rotation in space.
Definition: Euclid3D.h:68
virtual double getArcLength() const =0
Get arc length.
virtual Euclid3D getExitPatch() const
Get patch.
Definition: Geometry.cpp:76
virtual Euclid3D getEntrancePatch() const
Get patch.
Definition: Geometry.cpp:71
virtual ~BGeometryBase()
Definition: Geometry.cpp:28
virtual Euclid3D getExitFrame() const
Get transform.
Definition: Geometry.cpp:66