OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
OpalOctupole.h
Go to the documentation of this file.
1 #ifndef OPAL_OpalOctupole_HH
2 #define OPAL_OpalOctupole_HH
3 
4 // ------------------------------------------------------------------------
5 // $RCSfile: OpalOctupole.h,v $
6 // ------------------------------------------------------------------------
7 // $Revision: 1.1.1.1 $
8 // ------------------------------------------------------------------------
9 // Copyright: see Copyright.readme
10 // ------------------------------------------------------------------------
11 //
12 // Class: OpalOctupole
13 //
14 // ------------------------------------------------------------------------
15 //
16 // $Date: 2000/03/27 09:33:39 $
17 // $Author: Andreas Adelmann $
18 //
19 // ------------------------------------------------------------------------
20 
21 #include "Elements/OpalElement.h"
22 
23 
24 // Class OpalOctupole
25 // ------------------------------------------------------------------------
27 
28 class OpalOctupole: public OpalElement {
29 
30 public:
31 
33  enum {
34  K3 = COMMON, // The normal octupole coefficient.
35  DK3, // The normal octupole coefficient error.
36  K3S, // The skew octupole coefficient.
37  DK3S, // The skew octupole coefficient error.
39  };
40 
42  OpalOctupole();
43 
44  virtual ~OpalOctupole();
45 
47  virtual OpalOctupole *clone(const std::string &name);
48 
50  // Handle printing in OPAL-8 format.
51  virtual void print(std::ostream &) const;
52 
54  virtual void fillRegisteredAttributes(const ElementBase &, ValueFlag);
55 
57  virtual void update();
58 
59 private:
60 
61  // Not implemented.
62  OpalOctupole(const OpalOctupole &);
63  void operator=(const OpalOctupole &);
64 
65  // Clone constructor.
66  OpalOctupole(const std::string &name, OpalOctupole *parent);
67 };
68 
69 #endif // OPAL_OpalOctupole_HH
virtual void print(std::ostream &) const
Print the element.
Interface for basic beam line object.
Definition: ElementBase.h:128
ValueFlag
Switch for value desired on ATTLIST command.
Definition: OpalElement.h:71
virtual OpalOctupole * clone(const std::string &name)
Make clone.
virtual void fillRegisteredAttributes(const ElementBase &, ValueFlag)
Fill in all registered attributes.
Base class for all beam line elements.
Definition: OpalElement.h:41
void operator=(const OpalOctupole &)
const std::string name
virtual ~OpalOctupole()
OpalOctupole()
Exemplar constructor.
virtual void update()
Update the embedded CLASSIC multipole.
The OCTUPOLE element.
Definition: OpalOctupole.h:28