OPALX (Object Oriented Parallel Accelerator Library for Exascal)
master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
OpalBend.h
Go to the documentation of this file.
1
#ifndef OPAL_OpalBend_HH
2
#define OPAL_OpalBend_HH
3
4
// ------------------------------------------------------------------------
5
// $RCSfile: OpalBend.h,v $
6
// ------------------------------------------------------------------------
7
// $Revision: 1.1.1.1.4.1 $
8
// ------------------------------------------------------------------------
9
// Copyright: see Copyright.readme
10
// ------------------------------------------------------------------------
11
//
12
// Class: OpalBend
13
//
14
// ------------------------------------------------------------------------
15
//
16
// $Date: 2004/11/12 20:10:11 $
17
// $Author: adelmann $
18
//
19
// ------------------------------------------------------------------------
20
21
#include "
Elements/OpalElement.h
"
22
23
// Class OpalBend
24
// ------------------------------------------------------------------------
26
// This class factors out the special behaviour for the DOOM interface
27
// and the printing in OPAL format, as well as the bend attributes.
28
29
class
OpalBend
:
public
OpalElement
{
30
public
:
32
enum
{
33
ANGLE
=
COMMON
,
// The bend angle.
34
K0
,
35
K0S
,
// The multipole coefficients; must be in this order.
36
K1
,
37
K1S
,
38
K2
,
39
K2S
,
40
K3
,
41
K3S
,
42
E1
,
43
E2
,
// The edge angles.
44
H1
,
45
H2
,
// The pole face curvatures.
46
HGAP
,
47
FINT
,
// The fringing field parameters.
48
SLICES
,
49
STEPSIZE
,
// Parameters used to determine slicing.
50
FMAPFN
,
// File name containing on-axis field.
51
GAP
,
// Full gap of magnet.
52
HAPERT
,
// Horizontal aperture of magnet.
53
ROTATION
,
// Magnet rotation about z axis.
54
DESIGNENERGY
,
// the design energy of the particles
55
GREATERTHANPI
,
// Boolean flag set to true if bend angle is greater
56
// than 180 degrees.
57
NSLICES
,
// The number of slices / steps per element for map tracking
58
SIZE
// Total number of attributes.
59
};
60
62
OpalBend
(
const
char
* name,
const
char
* help);
63
64
virtual
~OpalBend
();
65
67
// Handle printing in OPAL-8 format.
68
virtual
void
print
(std::ostream&)
const
;
69
70
protected
:
72
OpalBend
(
const
std::string& name,
OpalBend
* parent);
73
74
private
:
75
// Not implemented.
76
OpalBend
(
const
OpalBend
&);
77
void
operator=
(
const
OpalBend
&);
78
};
79
80
#endif
// OPAL_OpalBend_HH
OpalElement.h
OpalBend
Base class for all bending magnets.
Definition
OpalBend.h:29
OpalBend::OpalBend
OpalBend(const OpalBend &)
OpalBend::K2S
@ K2S
Definition
OpalBend.h:39
OpalBend::GREATERTHANPI
@ GREATERTHANPI
Definition
OpalBend.h:55
OpalBend::SLICES
@ SLICES
Definition
OpalBend.h:48
OpalBend::NSLICES
@ NSLICES
Definition
OpalBend.h:57
OpalBend::K2
@ K2
Definition
OpalBend.h:38
OpalBend::H2
@ H2
Definition
OpalBend.h:45
OpalBend::K1S
@ K1S
Definition
OpalBend.h:37
OpalBend::ROTATION
@ ROTATION
Definition
OpalBend.h:53
OpalBend::STEPSIZE
@ STEPSIZE
Definition
OpalBend.h:49
OpalBend::HAPERT
@ HAPERT
Definition
OpalBend.h:52
OpalBend::K3S
@ K3S
Definition
OpalBend.h:41
OpalBend::FMAPFN
@ FMAPFN
Definition
OpalBend.h:50
OpalBend::E2
@ E2
Definition
OpalBend.h:43
OpalBend::K0S
@ K0S
Definition
OpalBend.h:35
OpalBend::HGAP
@ HGAP
Definition
OpalBend.h:46
OpalBend::K1
@ K1
Definition
OpalBend.h:36
OpalBend::H1
@ H1
Definition
OpalBend.h:44
OpalBend::E1
@ E1
Definition
OpalBend.h:42
OpalBend::SIZE
@ SIZE
Definition
OpalBend.h:58
OpalBend::GAP
@ GAP
Definition
OpalBend.h:51
OpalBend::DESIGNENERGY
@ DESIGNENERGY
Definition
OpalBend.h:54
OpalBend::K3
@ K3
Definition
OpalBend.h:40
OpalBend::ANGLE
@ ANGLE
Definition
OpalBend.h:33
OpalBend::FINT
@ FINT
Definition
OpalBend.h:47
OpalBend::K0
@ K0
Definition
OpalBend.h:34
OpalBend::~OpalBend
virtual ~OpalBend()
Definition
OpalBend.cpp:61
OpalBend::operator=
void operator=(const OpalBend &)
OpalBend::print
virtual void print(std::ostream &) const
Print the bend magnet.
Definition
OpalBend.cpp:63
OpalElement
Definition
OpalElement.h:31
OpalElement::COMMON
@ COMMON
Definition
OpalElement.h:57
src
Elements
OpalBend.h
Generated on Mon Jun 1 2026 10:40:52 for OPALX (Object Oriented Parallel Accelerator Library for Exascal) by
1.9.8