OPAL (Object Oriented Parallel Accelerator Library) 2022.1
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
24
25
26class OpalKicker: public OpalElement {
27
28public:
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
59private:
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 &)