OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
OpalCavity.h
Go to the documentation of this file.
1 #ifndef OPAL_OpalCavity_HH
2 #define OPAL_OpalCavity_HH
3 
4 // ------------------------------------------------------------------------
5 // $RCSfile: OpalCavity.h,v $
6 // ------------------------------------------------------------------------
7 // $Revision: 1.1.1.1 $
8 // ------------------------------------------------------------------------
9 // Copyright: see Copyright.readme
10 // ------------------------------------------------------------------------
11 //
12 // Class: OpalCavity
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 // Class OpalCavity
24 // ------------------------------------------------------------------------
26 
27 class OpalWake;
28 class BoundaryGeometry;
29 
30 class OpalCavity: public OpalElement {
31 
32 public:
33 
35  enum {
36  VOLT = COMMON, // The peak voltage.
37  DVOLT, // The peak voltage error.
38  GEOMETRY, // geometry of boundary
39  FREQ, // The RF frequency.
40  LAG, // The phase lag.
41  DLAG, // The phase lag error.
42  HARMON, // The harmonic number.
43  BETARF, // The beta_RF.
44  PG, // The RF power.
45  ZSHUNT, // The shunt impedance.
46  TFILL, // The filling time.
47  FMAPFN, // The filename of the fieldmap
48  FAST, // Faster but less accurate
49  APVETO, // Do not use this cavity in the Autophase procedure
50  RMIN, // Minimal Radius
51  RMAX, // Maximal Radius
52  ANGLE, // the azimuth position of the cavity
53  PDIS, // perpendicular distance from symmetric line of cavity gap to machine center
54  GAPWIDTH, // constant gap width of cavity
55  PHI0, // initial phase of cavity
56  DESIGNENERGY, // The mean kinetic energy at exit
57  PHASE_MODEL, // time dependent phase
58  AMPLITUDE_MODEL,// time dependent amplitude
59  FREQUENCY_MODEL,// time dependent frequency
61  };
62 
64  OpalCavity();
65 
66  virtual ~OpalCavity();
67 
69  virtual OpalCavity *clone(const std::string &name);
70 
72  virtual void fillRegisteredAttributes(const ElementBase &, ValueFlag);
73 
75  virtual void update();
76 
77 private:
78 
79  // Not implemented.
80  OpalCavity(const OpalCavity &);
81  void operator=(const OpalCavity &);
82 
83  // Clone constructor.
84  OpalCavity(const std::string &name, OpalCavity *parent);
85 
87 
89 
90 
91 };
92 
93 #endif // OPAL_OpalCavity_HH
virtual void update()
Update the embedded CLASSIC cavity.
Definition: OpalCavity.cpp:147
Interface for basic beam line object.
Definition: ElementBase.h:128
ValueFlag
Switch for value desired on ATTLIST command.
Definition: OpalElement.h:71
The WAKE definition.
Definition: OpalWake.h:34
void operator=(const OpalCavity &)
BoundaryGeometry * obgeo_m
Definition: OpalCavity.h:88
Base class for all beam line elements.
Definition: OpalElement.h:41
OpalCavity()
Exemplar constructor.
Definition: OpalCavity.cpp:33
virtual void fillRegisteredAttributes(const ElementBase &, ValueFlag)
Fill in all registered attributes.
Definition: OpalCavity.cpp:133
const std::string name
virtual ~OpalCavity()
Definition: OpalCavity.cpp:122
virtual OpalCavity * clone(const std::string &name)
Make clone.
Definition: OpalCavity.cpp:128
OpalWake * owk_m
Definition: OpalCavity.h:86