OPAL (Object Oriented Parallel Accelerator Library)  2024.1
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 
22 #include "Elements/OpalElement.h"
23 
25 
26 public:
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 
66 private:
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
static size_t convertToUnsigned(double value, const std::string &name)
const std::string name
OpalVariableRFCavityFringeField * clone()
constexpr double e
The value of .
Definition: Physics.h:39
void operator=(const OpalVariableRFCavityFringeField &)