OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
OpalKicker.h
Go to the documentation of this file.
1 #ifndef OPAL_OpalKicker_HH
2 #define OPAL_OpalKicker_HH
3 
4 // ------------------------------------------------------------------------
5 // $RCSfile: OpalKicker.h,v $
6 // ------------------------------------------------------------------------
7 // $Revision: 1.2 $
8 // ------------------------------------------------------------------------
9 // Copyright: see Copyright.readme
10 // ------------------------------------------------------------------------
11 //
12 // Class: OpalKicker
13 //
14 // ------------------------------------------------------------------------
15 //
16 // $Date: 2001/08/13 15:32:23 $
17 // $Author: jowett $
18 //
19 // ------------------------------------------------------------------------
20 
21 #include "Elements/OpalElement.h"
22 
23 
24 // Class OpalKicker
25 // ------------------------------------------------------------------------
27 // Note the sign convention: Positive kicks bend particles to positive x or
28 // y respectively.
29 
30 class OpalKicker: public OpalElement {
31 
32 public:
33 
35  enum {
36  HKICK = COMMON, // The horizontal kicker strength.
37  VKICK, // The vertical kicker strength.
38  DESIGNENERGY, // The mean kinetic energy at exit
39  K0, // The normal dipole field
40  K0S, // The skew dipole field
42  };
43 
45  OpalKicker();
46 
47  virtual ~OpalKicker();
48 
50  virtual OpalKicker *clone(const std::string &name);
51 
52 
53  // JMJ 18/12/2000 Following method not needed, commented out, delete after next CVS commit.
54  //BEGIN JMJ 15/12/2000, adding missing print method
55  // Print the kicker
56  // Handle printing in OPAL-8 format.
57  // virtual void print(std::ostream &) const;
58  //END JMJ 15/12/2000, adding missing print method
59 
61  virtual void fillRegisteredAttributes(const ElementBase &, ValueFlag);
62 
64  virtual void update();
65 
66 private:
67 
68  // Not implemented.
69  OpalKicker(const OpalKicker &);
70  void operator=(const OpalKicker &);
71 
72  // Clone constructor.
73  OpalKicker(const std::string &name, OpalKicker *parent);
74 };
75 
76 #endif // OPAL_OpalKicker_HH
Interface for basic beam line object.
Definition: ElementBase.h:128
ValueFlag
Switch for value desired on ATTLIST command.
Definition: OpalElement.h:71
virtual OpalKicker * clone(const std::string &name)
Make clone.
Definition: OpalKicker.cpp:70
void operator=(const OpalKicker &)
The KICKER element.
Definition: OpalKicker.h:30
OpalKicker()
Exemplar constructor.
Definition: OpalKicker.cpp:33
Base class for all beam line elements.
Definition: OpalElement.h:41
virtual void update()
Update the embedded CLASSIC corrector.
Definition: OpalKicker.cpp:102
const std::string name
virtual void fillRegisteredAttributes(const ElementBase &, ValueFlag)
Fill in all registered attributes.
Definition: OpalKicker.cpp:76
virtual ~OpalKicker()
Definition: OpalKicker.cpp:66