OPAL (Object Oriented Parallel Accelerator Library)  2024.1
OPAL
OpalVariableRFCavity.h
Go to the documentation of this file.
1 //
2 // Class OpalVariableRFCavity
3 // The class provides the user interface for the VARIABLE_RF_CAVITY object.
4 //
5 // Copyright (c) 2014 - 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_OPALVARIABLERFCAVITY_H
19 #define OPAL_OPALVARIABLERFCAVITY_H
20 
21 #include "Elements/OpalElement.h"
22 
24 
25 public:
27  enum {
33  SIZE // size of the enum
34  };
35 
37  OpalVariableRFCavity(const std::string& name, OpalVariableRFCavity* parent);
38 
41 
47 
52  virtual OpalVariableRFCavity* clone(const std::string& name);
53 
55  virtual ~OpalVariableRFCavity();
56 
58  virtual void update();
59 
60 private:
61  // Not implemented.
63  void operator=(const OpalVariableRFCavity&);
64 
65  static const std::string doc_string;
66 };
67 
68 #endif // OPAL_OPALVARIABLERFCAVITY_H
static const std::string doc_string
OpalVariableRFCavity * clone()
const std::string name
void operator=(const OpalVariableRFCavity &)