OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
src
src
Elements
OpalCavity.h
Go to the documentation of this file.
1
//
2
// Class OpalCavity
3
// The RFCAVITY 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_OpalCavity_HH
19
#define OPAL_OpalCavity_HH
20
21
#include "
Elements/OpalElement.h
"
22
23
class
OpalWake
;
24
class
BoundaryGeometry
;
25
26
class
OpalCavity
:
public
OpalElement
{
27
28
public
:
29
31
enum
{
32
VOLT
=
COMMON
,
// The peak voltage.
33
DVOLT
,
// The peak voltage error.
34
GEOMETRY
,
// geometry of boundary
35
FREQ
,
// The RF frequency.
36
LAG
,
// The phase lag.
37
DLAG
,
// The phase lag error.
38
FMAPFN
,
// The filename of the fieldmap
39
FAST
,
// Faster but less accurate
40
APVETO
,
// Do not use this cavity in the Autophase procedure
41
RMIN
,
// Minimal Radius
42
RMAX
,
// Maximal Radius
43
ANGLE
,
// the azimuth position of the cavity
44
PDIS
,
// perpendicular distance from symmetric line of cavity gap to machine center
45
GAPWIDTH
,
// constant gap width of cavity
46
PHI0
,
// initial phase of cavity
47
DESIGNENERGY
,
// The mean kinetic energy at exit
48
PHASE_MODEL
,
// time dependent phase
49
AMPLITUDE_MODEL
,
// time dependent amplitude
50
FREQUENCY_MODEL
,
// time dependent frequency
51
SIZE
52
};
53
55
OpalCavity
();
56
57
virtual
~OpalCavity
();
58
60
virtual
OpalCavity
*
clone
(
const
std::string &
name
);
61
63
virtual
void
update
();
64
65
private
:
66
67
// Not implemented.
68
OpalCavity
(
const
OpalCavity
&);
69
void
operator=
(
const
OpalCavity
&);
70
71
// Clone constructor.
72
OpalCavity
(
const
std::string &
name
,
OpalCavity
*parent);
73
74
OpalWake
*
owk_m
;
75
76
BoundaryGeometry
*
obgeo_m
;
77
78
79
};
80
81
#endif
// OPAL_OpalCavity_HH
OpalElement.h
name
const std::string name
Definition:
MaxNormRadialPeak.cpp:32
OpalCavity
Definition:
OpalCavity.h:26
OpalCavity::OpalCavity
OpalCavity(const OpalCavity &)
OpalCavity::operator=
void operator=(const OpalCavity &)
OpalCavity::~OpalCavity
virtual ~OpalCavity()
Definition:
OpalCavity.cpp:87
OpalCavity::clone
virtual OpalCavity * clone(const std::string &name)
Make clone.
Definition:
OpalCavity.cpp:92
OpalCavity::update
virtual void update()
Update the embedded CLASSIC cavity.
Definition:
OpalCavity.cpp:97
OpalCavity::obgeo_m
BoundaryGeometry * obgeo_m
Definition:
OpalCavity.h:76
OpalCavity::ANGLE
@ ANGLE
Definition:
OpalCavity.h:43
OpalCavity::RMAX
@ RMAX
Definition:
OpalCavity.h:42
OpalCavity::DLAG
@ DLAG
Definition:
OpalCavity.h:37
OpalCavity::FREQ
@ FREQ
Definition:
OpalCavity.h:35
OpalCavity::AMPLITUDE_MODEL
@ AMPLITUDE_MODEL
Definition:
OpalCavity.h:49
OpalCavity::FREQUENCY_MODEL
@ FREQUENCY_MODEL
Definition:
OpalCavity.h:50
OpalCavity::VOLT
@ VOLT
Definition:
OpalCavity.h:32
OpalCavity::RMIN
@ RMIN
Definition:
OpalCavity.h:41
OpalCavity::SIZE
@ SIZE
Definition:
OpalCavity.h:51
OpalCavity::PHI0
@ PHI0
Definition:
OpalCavity.h:46
OpalCavity::PHASE_MODEL
@ PHASE_MODEL
Definition:
OpalCavity.h:48
OpalCavity::DVOLT
@ DVOLT
Definition:
OpalCavity.h:33
OpalCavity::GEOMETRY
@ GEOMETRY
Definition:
OpalCavity.h:34
OpalCavity::GAPWIDTH
@ GAPWIDTH
Definition:
OpalCavity.h:45
OpalCavity::FAST
@ FAST
Definition:
OpalCavity.h:39
OpalCavity::LAG
@ LAG
Definition:
OpalCavity.h:36
OpalCavity::PDIS
@ PDIS
Definition:
OpalCavity.h:44
OpalCavity::DESIGNENERGY
@ DESIGNENERGY
Definition:
OpalCavity.h:47
OpalCavity::APVETO
@ APVETO
Definition:
OpalCavity.h:40
OpalCavity::FMAPFN
@ FMAPFN
Definition:
OpalCavity.h:38
OpalCavity::OpalCavity
OpalCavity()
Exemplar constructor.
Definition:
OpalCavity.cpp:28
OpalCavity::owk_m
OpalWake * owk_m
Definition:
OpalCavity.h:74
OpalElement
Definition:
OpalElement.h:28
OpalElement::COMMON
@ COMMON
Definition:
OpalElement.h:55
BoundaryGeometry
Definition:
BoundaryGeometry.h:52
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