OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
NullGeometry.h
Go to the documentation of this file.
1#ifndef CLASSIC_NullGeometry_HH
2#define CLASSIC_NullGeometry_HH
3
4// ------------------------------------------------------------------------
5// $RCSfile: NullGeometry.h,v $
6// ------------------------------------------------------------------------
7// $Revision: 1.1.1.1 $
8// ------------------------------------------------------------------------
9// Copyright: see Copyright.readme
10// ------------------------------------------------------------------------
11//
12// Class: NullGeometry
13//
14// ------------------------------------------------------------------------
15// Class category: BeamlineGeometry
16// ------------------------------------------------------------------------
17//
18// $Date: 2000/03/27 09:32:34 $
19// $Author: fci $
20//
21// ------------------------------------------------------------------------
22
24
25class Euclid3D;
26
27
28// Class NullGeometry
29// ------------------------------------------------------------------------
31
33public:
34
37 virtual ~NullGeometry();
38 const NullGeometry &operator=(const NullGeometry &);
39
41 // Always zero for this class.
42 virtual double getArcLength() const;
43
45 // Always zero for this class.
46 virtual double getElementLength() const;
47
49 // Always zero for this class.
50 virtual double getOrigin() const;
51
53 // transform from [b]fromS[/b] to [b]toS[/b] is always an identity
54 // for this class.
55 virtual Euclid3D getTransform(double fromS, double toS) const;
56
58 // Equivalent to getTransform(0.0, s).
59 // Return the transform of the local coordinate system from the
60 // origin and [b]s[/b].
61 virtual Euclid3D getTransform(double s) const;
62};
63
64
65// inlined (trivial) member functions
67{}
68
70{}
71
72inline const NullGeometry &
74 return *this;
75}
76
77#endif // CLASSIC_NullGeometry_HH
Displacement and rotation in space.
Definition: Euclid3D.h:68
Abstract base class for accelerator geometry classes.
Definition: Geometry.h:43
Geometry representing an identity transform.
Definition: NullGeometry.h:32
const NullGeometry & operator=(const NullGeometry &)
Definition: NullGeometry.h:73
virtual ~NullGeometry()
virtual double getArcLength() const
Get arc length.
virtual double getOrigin() const
Get origin position.
virtual Euclid3D getTransform(double fromS, double toS) const
Get transform.
virtual double getElementLength() const
Get design length.