OPAL (Object Oriented Parallel Accelerator Library)
2024.1
OPAL
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
Elements
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
OpalScalingFFAMagnet::setupNamedEndField
void setupNamedEndField()
Definition:
OpalScalingFFAMagnet.cpp:125
OpalScalingFFAMagnet::R0
Definition:
OpalScalingFFAMagnet.h:33
OpalScalingFFAMagnet::MAGNET_START
Definition:
OpalScalingFFAMagnet.h:43
OpalScalingFFAMagnet::TAN_DELTA
Definition:
OpalScalingFFAMagnet.h:35
OpalScalingFFAMagnet::RADIAL_NEG_EXTENT
Definition:
OpalScalingFFAMagnet.h:40
OpalScalingFFAMagnet::RADIAL_POS_EXTENT
Definition:
OpalScalingFFAMagnet.h:41
OpalScalingFFAMagnet::~OpalScalingFFAMagnet
virtual ~OpalScalingFFAMagnet()
Definition:
OpalScalingFFAMagnet.cpp:103
OpalScalingFFAMagnet::clone
virtual OpalScalingFFAMagnet * clone(const std::string &name)
Definition:
OpalScalingFFAMagnet.cpp:106
OpalScalingFFAMagnet::END_FIELD_MODEL
Definition:
OpalScalingFFAMagnet.h:37
OpalScalingFFAMagnet::CENTRE_LENGTH
Definition:
OpalScalingFFAMagnet.h:39
OpalScalingFFAMagnet::OpalScalingFFAMagnet
OpalScalingFFAMagnet()
Definition:
OpalScalingFFAMagnet.cpp:26
OpalScalingFFAMagnet::HEIGHT
Definition:
OpalScalingFFAMagnet.h:42
OpalScalingFFAMagnet::END_LENGTH
Definition:
OpalScalingFFAMagnet.h:38
OpalScalingFFAMagnet::MAGNET_END
Definition:
OpalScalingFFAMagnet.h:44
OpalScalingFFAMagnet::setupDefaultEndField
void setupDefaultEndField()
Definition:
OpalScalingFFAMagnet.cpp:110
OpalScalingFFAMagnet::AZIMUTHAL_EXTENT
Definition:
OpalScalingFFAMagnet.h:45
OpalElement
Definition:
OpalElement.h:28
OpalScalingFFAMagnet::FIELD_INDEX
Definition:
OpalScalingFFAMagnet.h:34
OpalScalingFFAMagnet::B0
Definition:
OpalScalingFFAMagnet.h:32
OpalBend.h
name
const std::string name
Definition:
MaxNormRadialPeak.cpp:32
OpalScalingFFAMagnet::SIZE
Definition:
OpalScalingFFAMagnet.h:46
OpalScalingFFAMagnet::MAX_Y_POWER
Definition:
OpalScalingFFAMagnet.h:36
OpalScalingFFAMagnet
Definition:
OpalScalingFFAMagnet.h:27
OpalScalingFFAMagnet::operator=
void operator=(const OpalScalingFFAMagnet &)
OpalElement::COMMON
Definition:
OpalElement.h:56
OpalScalingFFAMagnet::update
virtual void update()
Definition:
OpalScalingFFAMagnet.cpp:134
Generated on Tue Jul 2 2024 15:05:24 for OPAL (Object Oriented Parallel Accelerator Library) by
1.8.5