OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
OpalQuadrupole.h
Go to the documentation of this file.
1 #ifndef OPAL_OpalQuadrupole_HH
2 #define OPAL_OpalQuadrupole_HH
3 
4 // ------------------------------------------------------------------------
5 // $RCSfile: OpalQuadrupole.h,v $
6 // ------------------------------------------------------------------------
7 // $Revision: 1.1.1.1 $
8 // ------------------------------------------------------------------------
9 // Copyright: see Copyright.readme
10 // ------------------------------------------------------------------------
11 //
12 // Class: OpalQuadrupole
13 //
14 // ------------------------------------------------------------------------
15 //
16 // $Date: 2000/03/27 09:33:39 $
17 // $Author: Andreas Adelmann $
18 //
19 // ------------------------------------------------------------------------
20 
21 #include "Elements/OpalElement.h"
22 
24 
25 // Class OpalQuadrupole
26 // ------------------------------------------------------------------------
28 
29 class OpalQuadrupole: public OpalElement {
30 
31 public:
32 
34  enum {
35  K1 = COMMON, // The normal quadrupole coefficient.
36  DK1, // The normal quadupole coefficient error.
37  K1S, // The skew quadrupole coefficient.
38  DK1S, // The skew quadrupole coefficient error.
39  NSLICES, // The number of slices / steps per element for map tracking
41  };
42 
45 
46  virtual ~OpalQuadrupole();
47 
49  virtual OpalQuadrupole *clone(const std::string &name);
50 
52  // Handle printing in OPAL-8 format.
53  virtual void print(std::ostream &) const;
54 
56  virtual void fillRegisteredAttributes(const ElementBase &, ValueFlag);
57 
59  virtual void update();
60 
61 private:
62 
63  // Not implemented.
65  void operator=(const OpalQuadrupole &);
66 
67  // Clone constructor.
68  OpalQuadrupole(const std::string &name, OpalQuadrupole *parent);
69 
71 };
72 
73 #endif // OPAL_OpalQuadrupole_HH
Interface for basic beam line object.
Definition: ElementBase.h:128
The QUADRUPOLE element.
ValueFlag
Switch for value desired on ATTLIST command.
Definition: OpalElement.h:71
virtual ~OpalQuadrupole()
virtual void fillRegisteredAttributes(const ElementBase &, ValueFlag)
Fill in all registered attributes.
OpalQuadrupole()
Exemplar constructor.
virtual void update()
Update the embedded CLASSIC multipole.
void operator=(const OpalQuadrupole &)
virtual OpalQuadrupole * clone(const std::string &name)
Make clone.
Base class for all beam line elements.
Definition: OpalElement.h:41
ParticleMatterInteraction * parmatint_m
const std::string name
virtual void print(std::ostream &) const
Print the quadrupole.