OPAL (Object Oriented Parallel Accelerator Library)
2024.2
OPAL
OpalScalingFFAMagnet.h
Go to the documentation of this file.
1
//
2
// Class OpalScalingFFAMagnet
3
// The class provides the user interface for the SCALINGFFAMAGNET object.
4
//
5
// Copyright (c) 2017 - 2023, Chris Rogers, STFC Rutherford Appleton Laboratory, Didcot, UK
6
// All rights reserved
7
//
8
// This file is part of OPAL.
9
//
10
// OPAL is free software: you can redistribute it and/or modify
11
// it under the terms of the GNU General Public License as published by
12
// the Free Software Foundation, either version 3 of the License, or
13
// (at your option) any later version.
14
//
15
// You should have received a copy of the GNU General Public License
16
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
17
//
18
#ifndef OPAL_OPALSCALINGFFAMAGNET_H
19
#define OPAL_OPALSCALINGFFAMAGNET_H
20
21
#include "
Elements/OpalBend.h
"
22
27
class
OpalScalingFFAMagnet
:
public
OpalElement
{
28
29
public
:
31
enum
{
32
B0
=
COMMON
,
33
R0
,
34
FIELD_INDEX
,
35
TAN_DELTA
,
36
MAX_Y_POWER
,
37
END_FIELD_MODEL
,
38
END_LENGTH
,
39
CENTRE_LENGTH
,
40
RADIAL_NEG_EXTENT
,
41
RADIAL_POS_EXTENT
,
42
HEIGHT
,
43
MAGNET_START
,
44
MAGNET_END
,
45
AZIMUTHAL_EXTENT
,
46
SIZE
// size of the enum
47
};
48
50
OpalScalingFFAMagnet
();
51
53
virtual
~OpalScalingFFAMagnet
();
54
56
virtual
OpalScalingFFAMagnet
*
clone
(
const
std::string&
name
);
57
59
virtual
void
update
();
60
61
private
:
62
// Not implemented.
63
OpalScalingFFAMagnet
(
const
OpalScalingFFAMagnet
& );
64
void
operator=
(
const
OpalScalingFFAMagnet
& );
65
66
// Clone constructor.
67
OpalScalingFFAMagnet
(
const
std::string&
name
,
OpalScalingFFAMagnet
* parent);
68
69
void
setupNamedEndField
();
70
void
setupDefaultEndField
();
71
};
72
73
#endif
// OPAL_OPALSCALINGFFAMAGNET_H
74
OpalBend.h
name
const std::string name
Definition
MaxNormRadialPeak.cpp:32
OpalElement::COMMON
@ COMMON
Definition
OpalElement.h:56
OpalElement::OpalElement
OpalElement(int size, const char *name, const char *help)
Exemplar constructor.
Definition
OpalElement.cpp:40
OpalScalingFFAMagnet
Definition
OpalScalingFFAMagnet.h:27
OpalScalingFFAMagnet::OpalScalingFFAMagnet
OpalScalingFFAMagnet()
Definition
OpalScalingFFAMagnet.cpp:26
OpalScalingFFAMagnet::~OpalScalingFFAMagnet
virtual ~OpalScalingFFAMagnet()
Definition
OpalScalingFFAMagnet.cpp:103
OpalScalingFFAMagnet::setupNamedEndField
void setupNamedEndField()
Definition
OpalScalingFFAMagnet.cpp:125
OpalScalingFFAMagnet::OpalScalingFFAMagnet
OpalScalingFFAMagnet(const OpalScalingFFAMagnet &)
OpalScalingFFAMagnet::operator=
void operator=(const OpalScalingFFAMagnet &)
OpalScalingFFAMagnet::setupDefaultEndField
void setupDefaultEndField()
Definition
OpalScalingFFAMagnet.cpp:110
OpalScalingFFAMagnet::update
virtual void update()
Definition
OpalScalingFFAMagnet.cpp:134
OpalScalingFFAMagnet::MAGNET_END
@ MAGNET_END
Definition
OpalScalingFFAMagnet.h:44
OpalScalingFFAMagnet::AZIMUTHAL_EXTENT
@ AZIMUTHAL_EXTENT
Definition
OpalScalingFFAMagnet.h:45
OpalScalingFFAMagnet::MAX_Y_POWER
@ MAX_Y_POWER
Definition
OpalScalingFFAMagnet.h:36
OpalScalingFFAMagnet::R0
@ R0
Definition
OpalScalingFFAMagnet.h:33
OpalScalingFFAMagnet::END_FIELD_MODEL
@ END_FIELD_MODEL
Definition
OpalScalingFFAMagnet.h:37
OpalScalingFFAMagnet::SIZE
@ SIZE
Definition
OpalScalingFFAMagnet.h:46
OpalScalingFFAMagnet::RADIAL_POS_EXTENT
@ RADIAL_POS_EXTENT
Definition
OpalScalingFFAMagnet.h:41
OpalScalingFFAMagnet::FIELD_INDEX
@ FIELD_INDEX
Definition
OpalScalingFFAMagnet.h:34
OpalScalingFFAMagnet::RADIAL_NEG_EXTENT
@ RADIAL_NEG_EXTENT
Definition
OpalScalingFFAMagnet.h:40
OpalScalingFFAMagnet::HEIGHT
@ HEIGHT
Definition
OpalScalingFFAMagnet.h:42
OpalScalingFFAMagnet::END_LENGTH
@ END_LENGTH
Definition
OpalScalingFFAMagnet.h:38
OpalScalingFFAMagnet::TAN_DELTA
@ TAN_DELTA
Definition
OpalScalingFFAMagnet.h:35
OpalScalingFFAMagnet::B0
@ B0
Definition
OpalScalingFFAMagnet.h:32
OpalScalingFFAMagnet::CENTRE_LENGTH
@ CENTRE_LENGTH
Definition
OpalScalingFFAMagnet.h:39
OpalScalingFFAMagnet::MAGNET_START
@ MAGNET_START
Definition
OpalScalingFFAMagnet.h:43
OpalScalingFFAMagnet::clone
virtual OpalScalingFFAMagnet * clone(const std::string &name)
Definition
OpalScalingFFAMagnet.cpp:106