OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
src
src
Elements
OpalTravelingWave.h
Go to the documentation of this file.
1
//
2
// Class OpalTravelingWave
3
// The TRAVELINGWAVE element.
4
//
5
// Copyright (c) 200x - 2020, Paul Scherrer Institut, Villigen PSI, Switzerland
6
// All rights reserved
7
//
8
// This file is part of OPAL.
9
//
10
// OPAL is free software: you can redistribute it and/or modify
11
// it under the terms of the GNU General Public License as published by
12
// the Free Software Foundation, either version 3 of the License, or
13
// (at your option) any later version.
14
//
15
// You should have received a copy of the GNU General Public License
16
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
17
//
18
#ifndef OPAL_OpalTravelingWave_HH
19
#define OPAL_OpalTravelingWave_HH
20
21
#include "
Elements/OpalElement.h
"
22
23
class
OpalWake
;
24
25
class
OpalTravelingWave
:
public
OpalElement
{
26
27
public
:
28
30
enum
{
31
VOLT
=
COMMON
,
// The peak voltage.
32
DVOLT
,
// The peak voltage error
33
FREQ
,
// The RF frequency.
34
LAG
,
// The phase lag.
35
DLAG
,
// The phase lag error
36
FMAPFN
,
// The filename of the fieldmap
37
APVETO
,
// Do not use this cavity in the Autophase procedure
38
FAST
,
// Faster but less accurate
39
NUMCELLS
,
// Number of cells in a TW structure
40
DESIGNENERGY
,
// The mean kinetic energy at exit
41
MODE
,
// The phase shift between cells
42
SIZE
43
};
44
46
OpalTravelingWave
();
47
48
virtual
~OpalTravelingWave
();
49
51
virtual
OpalTravelingWave
*
clone
(
const
std::string &
name
);
52
54
virtual
void
update
();
55
56
private
:
57
58
// Not implemented.
59
OpalTravelingWave
(
const
OpalTravelingWave
&);
60
void
operator=
(
const
OpalTravelingWave
&);
61
62
// Clone constructor.
63
OpalTravelingWave
(
const
std::string &
name
,
OpalTravelingWave
*parent);
64
65
OpalWake
*
owk_m
;
66
};
67
68
#endif
// OPAL_OpalTravelingWave_HH
OpalElement.h
name
const std::string name
Definition:
MaxNormRadialPeak.cpp:32
OpalElement
Definition:
OpalElement.h:28
OpalElement::COMMON
@ COMMON
Definition:
OpalElement.h:55
OpalTravelingWave
Definition:
OpalTravelingWave.h:25
OpalTravelingWave::DLAG
@ DLAG
Definition:
OpalTravelingWave.h:35
OpalTravelingWave::SIZE
@ SIZE
Definition:
OpalTravelingWave.h:42
OpalTravelingWave::FREQ
@ FREQ
Definition:
OpalTravelingWave.h:33
OpalTravelingWave::LAG
@ LAG
Definition:
OpalTravelingWave.h:34
OpalTravelingWave::MODE
@ MODE
Definition:
OpalTravelingWave.h:41
OpalTravelingWave::VOLT
@ VOLT
Definition:
OpalTravelingWave.h:31
OpalTravelingWave::FMAPFN
@ FMAPFN
Definition:
OpalTravelingWave.h:36
OpalTravelingWave::DVOLT
@ DVOLT
Definition:
OpalTravelingWave.h:32
OpalTravelingWave::FAST
@ FAST
Definition:
OpalTravelingWave.h:38
OpalTravelingWave::DESIGNENERGY
@ DESIGNENERGY
Definition:
OpalTravelingWave.h:40
OpalTravelingWave::NUMCELLS
@ NUMCELLS
Definition:
OpalTravelingWave.h:39
OpalTravelingWave::APVETO
@ APVETO
Definition:
OpalTravelingWave.h:37
OpalTravelingWave::update
virtual void update()
Update the embedded CLASSIC cavity.
Definition:
OpalTravelingWave.cpp:75
OpalTravelingWave::owk_m
OpalWake * owk_m
Definition:
OpalTravelingWave.h:65
OpalTravelingWave::operator=
void operator=(const OpalTravelingWave &)
OpalTravelingWave::~OpalTravelingWave
virtual ~OpalTravelingWave()
Definition:
OpalTravelingWave.cpp:65
OpalTravelingWave::OpalTravelingWave
OpalTravelingWave()
Exemplar constructor.
Definition:
OpalTravelingWave.cpp:25
OpalTravelingWave::clone
virtual OpalTravelingWave * clone(const std::string &name)
Make clone.
Definition:
OpalTravelingWave.cpp:70
OpalTravelingWave::OpalTravelingWave
OpalTravelingWave(const OpalTravelingWave &)
OpalWake
Definition:
OpalWake.h:26
Generated on Wed Aug 25 2021 16:41:04 for OPAL (Object Oriented Parallel Accelerator Library) by
1.9.1