OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
MarkerRep.h
Go to the documentation of this file.
1#ifndef OPALX_MarkerRep_HH
2#define OPALX_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// Class MarkerRep
28// ------------------------------------------------------------------------
30
31class MarkerRep : public Marker {
32public:
34 explicit MarkerRep(const std::string& name);
35
36 MarkerRep();
37 MarkerRep(const MarkerRep&);
38 virtual ~MarkerRep();
39
41 // Return an identical deep copy of the element.
42 virtual ElementBase* clone() const;
43
45 // Version for non-constant object.
46 virtual NullField& getField();
47
49 // Version for constant object.
50 virtual const NullField& getField() const;
51
53 // Return the element geometry.
54 // Version for non-constant object.
55 virtual NullGeometry& getGeometry();
56
58 // Return the element geometry
59 // Version for constant object.
60 virtual const NullGeometry& getGeometry() const;
61
63 // Always return zero. :return always zero
64 virtual double getArcLength() const;
65
67 // Always return zero. :return always zero
68 virtual double getElementLength() const;
69
70private:
73
76
77 // Not implemented.
78 void operator=(const MarkerRep&);
79};
80
81#endif // OPALX_MarkerRep_HH
Representation for a marker element.
Definition MarkerRep.h:31
virtual ElementBase * clone() const
Return clone.
Definition MarkerRep.cpp:34
virtual NullGeometry & getGeometry()
Get geometry.
Definition MarkerRep.cpp:40
virtual ~MarkerRep()
Definition MarkerRep.cpp:32
NullGeometry geometry
The marker geometry.
Definition MarkerRep.h:75
virtual double getArcLength() const
Get arc length.
Definition MarkerRep.cpp:44
NullField field
The zero magnetic field.
Definition MarkerRep.h:72
virtual NullField & getField()
Get field.
Definition MarkerRep.cpp:36
virtual double getElementLength() const
Get design length.
Definition MarkerRep.cpp:46
void operator=(const MarkerRep &)
Interface for a marker.
Definition Marker.h:31
A zero electromagnetic field.
Definition NullField.h:29
Geometry representing an identity transform.