OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
NullGeometry.h
Go to the documentation of this file.
1#ifndef OPALX_NullGeometry_HH
2#define OPALX_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// Class NullGeometry
28// ------------------------------------------------------------------------
30
32public:
35 virtual ~NullGeometry();
36 const NullGeometry& operator=(const NullGeometry&);
37
39 // Always zero for this class.
40 virtual double getArcLength() const;
41
43 // Always zero for this class.
44 virtual double getElementLength() const;
45
47 // Always zero for this class.
48 virtual double getOrigin() const;
49
51 // transform from [b]fromS[/b] to [b]toS[/b] is always an identity
52 // for this class.
53 virtual Euclid3D getTransform(double fromS, double toS) const;
54
56 // Equivalent to getTransform(0.0, s).
57 // Return the transform of the local coordinate system from the
58 // origin and [b]s[/b].
59 virtual Euclid3D getTransform(double s) const;
60};
61
62// inlined (trivial) member functions
64
66
67inline const NullGeometry& NullGeometry::operator=(const NullGeometry&) { return *this; }
68
69#endif // OPALX_NullGeometry_HH
Abstract base class for accelerator geometry classes.
Definition Geometry.h:42
Displacement and rotation in space.
Definition Euclid3D.h:67
Geometry representing an identity transform.
const NullGeometry & operator=(const NullGeometry &)
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.