OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
OPAL
OpalKicker.h
Go to the documentation of this file.
1 //
2 // Class OpalKicker
3 // The KICKER element.
4 // Note the sign convention: Positive kicks bend particles to positive x or
5 // y respectively.
6 //
7 // Copyright (c) 200x - 2020, Paul Scherrer Institut, Villigen PSI, Switzerland
8 // All rights reserved
9 //
10 // This file is part of OPAL.
11 //
12 // OPAL is free software: you can redistribute it and/or modify
13 // it under the terms of the GNU General Public License as published by
14 // the Free Software Foundation, either version 3 of the License, or
15 // (at your option) any later version.
16 //
17 // You should have received a copy of the GNU General Public License
18 // along with OPAL. If not, see <https://www.gnu.org/licenses/>.
19 //
20 #ifndef OPAL_OpalKicker_HH
21 #define OPAL_OpalKicker_HH
22 
23 #include "Elements/OpalElement.h"
24 
25 
26 class OpalKicker: public OpalElement {
27 
28 public:
29 
31  enum {
32  HKICK = COMMON, // The horizontal kicker strength.
33  VKICK, // The vertical kicker strength.
34  DESIGNENERGY, // The mean kinetic energy at exit
35  K0, // The normal dipole field
36  K0S, // The skew dipole field
37  SIZE
38  };
39 
41  OpalKicker();
42 
43  virtual ~OpalKicker();
44 
46  virtual OpalKicker *clone(const std::string &name);
47 
48 
49  // JMJ 18/12/2000 Following method not needed, commented out, delete after next CVS commit.
50  //BEGIN JMJ 15/12/2000, adding missing print method
51  // Print the kicker
52  // Handle printing in OPAL-8 format.
53  // virtual void print(std::ostream &) const;
54  //END JMJ 15/12/2000, adding missing print method
55 
57  virtual void update();
58 
59 private:
60 
61  // Not implemented.
63  void operator=(const OpalKicker &);
64 
65  // Clone constructor.
66  OpalKicker(const std::string &name, OpalKicker *parent);
67 };
68 
69 #endif // OPAL_OpalKicker_HH
const std::string name
@ DESIGNENERGY
Definition: OpalKicker.h:34
virtual OpalKicker * clone(const std::string &name)
Make clone.
Definition: OpalKicker.cpp:61
virtual void update()
Update the embedded CLASSIC corrector.
Definition: OpalKicker.cpp:66
virtual ~OpalKicker()
Definition: OpalKicker.cpp:57
OpalKicker()
Exemplar constructor.
Definition: OpalKicker.cpp:30
OpalKicker(const OpalKicker &)
void operator=(const OpalKicker &)