OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
OpalVariableRFCavityFringeField.h
Go to the documentation of this file.
1//
2// Class OpalVariableRFCavityFringeField
3// The class provides the user interface for
4// the VARIABLE_RF_CAVITY_FRINGE_FIELD object.
5//
6// Copyright (c) 2018 - 2023, Chris Rogers, STFC Rutherford Appleton Laboratory, Didcot, UK
7// All rights reserved
8//
9// This file is part of OPAL.
10//
11// OPAL is free software: you can redistribute it and/or modify
12// it under the terms of the GNU General Public License as published by
13// the Free Software Foundation, either version 3 of the License, or
14// (at your option) any later version.
15//
16// You should have received a copy of the GNU General Public License
17// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
18//
19#ifndef OPAL_OPALVARIABLERFCAVITYFRINGEFIELD_H
20#define OPAL_OPALVARIABLERFCAVITYFRINGEFIELD_H
21
23
25
26public:
28 enum {
38 SIZE // size of the enum
39 };
40
42 OpalVariableRFCavityFringeField(const std::string& name,
44
47
53
58 virtual OpalVariableRFCavityFringeField* clone(const std::string& name);
59
62
64 virtual void update();
65
66private:
67 // Not implemented.
70
72 inline static size_t convertToUnsigned(double value, const std::string& name);
73
74 static const std::string doc_string;
75 static constexpr double unsignedTolerance = 1e-9;
76};
77
78#endif // OPAL_OPALVARIABLERFCAVITY_H
const std::string name
OpalElement(int size, const char *name, const char *help)
Exemplar constructor.
OpalVariableRFCavityFringeField(const std::string &name, OpalVariableRFCavityFringeField *parent)
OpalVariableRFCavityFringeField * clone()
void operator=(const OpalVariableRFCavityFringeField &)
OpalVariableRFCavityFringeField(const OpalVariableRFCavityFringeField &)
static size_t convertToUnsigned(double value, const std::string &name)