OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
OpalTravelingWave.h
Go to the documentation of this file.
1 #ifndef OPAL_OpalTravelingWave_HH
2 #define OPAL_OpalTravelingWave_HH
3 
4 // ------------------------------------------------------------------------
5 // $RCSfile: OpalTravelingWave.h,v $
6 // ------------------------------------------------------------------------
7 // $Revision: 1.1.1.1 $
8 // ------------------------------------------------------------------------
9 // Copyright: see Copyright.readme
10 // ------------------------------------------------------------------------
11 //
12 // Class: OpalTravelingWave
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 OpalWake;
24 
25 // Class OpalTravelingWave
26 // ------------------------------------------------------------------------
28 
30 
31 public:
32 
34  enum {
35  VOLT = COMMON, // The peak voltage.
36  DVOLT, // The peak voltage error
37  FREQ, // The RF frequency.
38  LAG, // The phase lag.
39  DLAG, // The phase lag error
40  HARMON, // The harmonic number.
41  BETARF, // The beta_RF.
42  PG, // The RF power.
43  ZSHUNT, // The shunt impedance.
44  TFILL, // The filling time.
45  FMAPFN, // The filename of the fieldmap
46  APVETO, // Do not use this cavity in the Autophase procedure
47  FAST, // Faster but less accurate
48  CAVITYTYPE, // STANDING or TRAVELING wave structure
49  NUMCELLS, // Number of cells in a TW structure
50  DESIGNENERGY, // The mean kinetic energy at exit
51  MODE, // The phase shift between cells
53  };
54 
57 
58  virtual ~OpalTravelingWave();
59 
61  virtual OpalTravelingWave *clone(const std::string &name);
62 
64  virtual void fillRegisteredAttributes(const ElementBase &, ValueFlag);
65 
67  virtual void update();
68 
69 private:
70 
71  // Not implemented.
73  void operator=(const OpalTravelingWave &);
74 
75  // Clone constructor.
76  OpalTravelingWave(const std::string &name, OpalTravelingWave *parent);
77 
79 };
80 
81 #endif // OPAL_OpalTravelingWave_HH
virtual void fillRegisteredAttributes(const ElementBase &, ValueFlag)
Fill in all registered attributes.
Interface for basic beam line object.
Definition: ElementBase.h:128
ValueFlag
Switch for value desired on ATTLIST command.
Definition: OpalElement.h:71
void operator=(const OpalTravelingWave &)
The WAKE definition.
Definition: OpalWake.h:34
OpalTravelingWave()
Exemplar constructor.
The RFCAVITY element.
Base class for all beam line elements.
Definition: OpalElement.h:41
const std::string name
virtual OpalTravelingWave * clone(const std::string &name)
Make clone.
virtual void update()
Update the embedded CLASSIC cavity.