OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Insertion.h
Go to the documentation of this file.
1 #ifndef OPAL_Insertion_HH
2 #define OPAL_Insertion_HH 1
3 
4 // ------------------------------------------------------------------------
5 // $RCSfile: Insertion.h,v $
6 // ------------------------------------------------------------------------
7 // $Revision: 1.1.1.1.4.1 $
8 // ------------------------------------------------------------------------
9 // Copyright: see Copyright.readme
10 // ------------------------------------------------------------------------
11 //
12 // Class: Insertion
13 //
14 // ------------------------------------------------------------------------
15 //
16 // $Date: 2004/11/12 20:10:11 $
17 // $Author: adelmann $
18 //
19 // ------------------------------------------------------------------------
20 
21 #include "Tables/Twiss.h"
22 
23 
24 // Class Insertion
25 // ------------------------------------------------------------------------
27 
28 class Insertion: public Twiss {
29 
30 public:
31 
33  Insertion();
34 
35  virtual ~Insertion();
36 
38  virtual Insertion *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  Insertion(const Insertion &);
50  void operator=(const Insertion &);
51 
52  // Clone constructor.
53  Insertion(const std::string &name, Insertion *parent);
54 
55  // The attribute of class Insertion.
56  enum {
57  // Input values.
58  INIT = Twiss::SIZE, // A table row defining the initial conditions.
59  BETX, // Initial lattice functions.
63  DX, // Initial dispersion.
64  DPX,
65  DY,
66  DPY,
67  XC, // Initial orbit.
68  PXC,
69  YC,
70  PYC,
71  TC,
72  PTC,
73  // Read-only values.
74  LENGTH, // Total length.
75  MU1, // Phases.
76  MU2,
77  MU3,
78  DELTAP, // Differential momentum variation
80  };
81 };
82 
83 #endif // OPAL_Insertion_HH
std::vector< Cell > CellArray
An array of cell descriptors.
Definition: Table.h:63
virtual void printTable(std::ostream &, const CellArray &) const
Print the table on an ASCII stream.
Definition: Insertion.cpp:187
virtual void fill()
Fill the buffer using the defined algorithm.
Definition: Insertion.cpp:115
virtual Insertion * clone(const std::string &name)
Make clone.
Definition: Insertion.cpp:110
virtual ~Insertion()
Definition: Insertion.cpp:106
Insertion()
Exemplar construction.
Definition: Insertion.cpp:40
void operator=(const Insertion &)
Class Twiss.
Definition: Twiss.h:41
const std::string name
The TWISSTRACK command.
Definition: Insertion.h:28