OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
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 
25 class Euclid3D;
26 
27 
28 // Class NullGeometry
29 // ------------------------------------------------------------------------
31 
32 class NullGeometry: public BGeometryBase {
33 public:
34 
35  NullGeometry();
36  NullGeometry(const NullGeometry &);
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 
72 inline const NullGeometry &
74  return *this;
75 }
76 
77 #endif // CLASSIC_NullGeometry_HH
virtual double getOrigin() const
Get origin position.
virtual ~NullGeometry()
virtual Euclid3D getTransform(double fromS, double toS) const
Get transform.
Abstract base class for accelerator geometry classes.
Definition: Geometry.h:43
Geometry representing an identity transform.
Definition: NullGeometry.h:32
Displacement and rotation in space.
Definition: Euclid3D.h:68
virtual double getArcLength() const
Get arc length.
const NullGeometry & operator=(const NullGeometry &)
Definition: NullGeometry.h:73
virtual double getElementLength() const
Get design length.