OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Period.h
Go to the documentation of this file.
1 #ifndef OPAL_Period_HH
2 #define OPAL_Period_HH
3 // ------------------------------------------------------------------------
4 // $RCSfile: Period.h,v $
5 // ------------------------------------------------------------------------
6 // $Revision: 1.1.1.1.4.1 $
7 // ------------------------------------------------------------------------
8 // Copyright: see Copyright.readme
9 // ------------------------------------------------------------------------
10 //
11 // Class: Period
12 //
13 // ------------------------------------------------------------------------
14 //
15 // $Date: 2004/11/12 20:10:11 $
16 // $Author: adelmann $
17 //
18 // ------------------------------------------------------------------------
19 
20 #include "Tables/Twiss.h"
21 #include "FixedAlgebra/FVector.h"
22 
23 
24 // Class Period
25 // ------------------------------------------------------------------------
27 
28 class Period: public Twiss {
29 
30 public:
31 
33  Period();
34 
35  virtual ~Period();
36 
38  virtual Period *clone(const std::string &name);
39 
41  virtual void fill();
42 
44  virtual void printTable(std::ostream &, const CellArray &) const;
45 
46 private:
47 
48  // Not implemented.
49  Period(const Period &);
50  void operator=(const Period &);
51 
52  // Clone constructor.
53  Period(const std::string &name, Period *parent);
54 
55  // Find the closed orbit.
56  void findClosedOrbit();
57 
58  // The initial closed orbit.
60 
61  // Additional values for class Period.
62  enum {
63  MICADO = Twiss::SIZE, // Number of iterations for MICADO
64  CORRECTORS, // Number of correctors for MICADO
65  THREAD, // Name of threader method
66  TOLQ, // Tolerances for closed orbit search
68 
69  // Computed values (read-only):
70  CIRCUM, // Machine circumference or line length
71  Q1, // Tunes
72  Q2,
73  Q3,
74  FREQ, // Revolution frequencey in Hz.
75  U0, // Energy loss per turn in MeV
76  J1, // Damping partition numbers
77  J2,
78  J3,
79  DELTAP, // Differential momentum variation
81  };
82 };
83 
84 #endif // OPAL_Period_HH
std::vector< Cell > CellArray
An array of cell descriptors.
Definition: Table.h:63
virtual void fill()
Fill the buffer using the defined algorithm.
Definition: Period.cpp:120
virtual void printTable(std::ostream &, const CellArray &) const
Print the table on an ASCII stream.
Definition: Period.cpp:194
virtual ~Period()
Definition: Period.cpp:111
Period()
Exemplar constructor.
Definition: Period.cpp:46
The TWISS command.
Definition: Period.h:28
virtual Period * clone(const std::string &name)
Make clone.
Definition: Period.cpp:115
FVector< double, 6 > fixPoint
Definition: Period.h:59
Class Twiss.
Definition: Twiss.h:41
void operator=(const Period &)
const std::string name
void findClosedOrbit()
Definition: Period.cpp:245