OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
MarkerRep.h
Go to the documentation of this file.
1#ifndef CLASSIC_MarkerRep_HH
2#define CLASSIC_MarkerRep_HH
3
4// ------------------------------------------------------------------------
5// $RCSfile: MarkerRep.h,v $
6// ------------------------------------------------------------------------
7// $Revision: 1.1.1.1 $
8// ------------------------------------------------------------------------
9// Copyright: see Copyright.readme
10// ------------------------------------------------------------------------
11//
12// Class: MarkerRep
13//
14// ------------------------------------------------------------------------
15// Class category: BeamlineCore
16// ------------------------------------------------------------------------
17//
18// $Date: 2000/03/27 09:32:33 $
19// $Author: fci $
20//
21// ------------------------------------------------------------------------
22
23#include "AbsBeamline/Marker.h"
25#include "Fields/NullField.h"
26
27
28// Class MarkerRep
29// ------------------------------------------------------------------------
31
32class MarkerRep: public Marker {
33
34public:
35
37 explicit MarkerRep(const std::string &name);
38
39 MarkerRep();
40 MarkerRep(const MarkerRep &);
41 virtual ~MarkerRep();
42
44 // Return an identical deep copy of the element.
45 virtual ElementBase *clone() const;
46
48 // Version for non-constant object.
49 virtual NullField &getField();
50
52 // Version for constant object.
53 virtual const NullField &getField() const;
54
56 // Return the element geometry.
57 // Version for non-constant object.
58 virtual NullGeometry &getGeometry();
59
61 // Return the element geometry
62 // Version for constant object.
63 virtual const NullGeometry &getGeometry() const;
64
66 // Always return zero. :return always zero
67 virtual double getArcLength() const;
68
70 // Always return zero. :return always zero
71 virtual double getElementLength() const;
72
73private:
74
77
80
81 // Not implemented.
82 void operator=(const MarkerRep &);
83};
84
85#endif // CLASSIC_MarkerRep_HH
ElementBase(const std::string &name)
Constructor with given name.
Marker(const std::string &name)
Constructor with given name.
Definition Marker.cpp:39
virtual ElementBase * clone() const
Return clone.
Definition MarkerRep.cpp:45
virtual NullGeometry & getGeometry()
Get geometry.
Definition MarkerRep.cpp:59
virtual ~MarkerRep()
Definition MarkerRep.cpp:41
NullGeometry geometry
The marker geometry.
Definition MarkerRep.h:79
virtual double getArcLength() const
Get arc length.
Definition MarkerRep.cpp:68
NullField field
The zero magnetic field.
Definition MarkerRep.h:76
MarkerRep(const std::string &name)
Constructor with given name.
Definition MarkerRep.cpp:36
virtual NullField & getField()
Get field.
Definition MarkerRep.cpp:50
virtual double getElementLength() const
Get design length.
Definition MarkerRep.cpp:73
void operator=(const MarkerRep &)
Geometry representing an identity transform.
A zero electromagnetic field.
Definition NullField.h:30