OPAL (Object Oriented Parallel Accelerator Library)
2024.1
OPAL
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
Elements
OpalRingDefinition.h
Go to the documentation of this file.
1
//
2
// Class OpalRingDefinition
3
// The Opal Ring element.
4
//
5
// Copyright (c) 2012 - 2023, Chris Rogers, STFC Rutherford Appleton Laboratory, Didcot, UK
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_OpalRingDefinition_HH
19
#define OPAL_OpalRingDefinition_HH
20
21
#include "
Elements/OpalElement.h
"
22
23
class
Ring
;
24
31
class
OpalRingDefinition
:
public
OpalElement
{
32
public
:
34
enum
{
35
LAT_RINIT
=
COMMON
,
36
LAT_PHIINIT
,
37
LAT_THETAINIT
,
38
BEAM_RINIT
,
39
BEAM_PHIINIT
,
40
BEAM_THETAINIT
,
41
BEAM_PRINIT
,
42
HARMONIC_NUMBER
,
43
SYMMETRY
,
44
SCALE
,
45
RFFREQ
,
46
IS_CLOSED
,
47
MIN_R
,
48
MAX_R
,
49
SIZE
// size of the enum
50
};
51
53
OpalRingDefinition
();
54
56
virtual
~OpalRingDefinition
();
57
59
virtual
OpalRingDefinition
*
clone
(
const
std::string&
name
);
60
62
void
update
();
63
65
virtual
void
print
(std::ostream&)
const
;
66
67
private
:
68
// Not implemented.
69
OpalRingDefinition
(
const
OpalRingDefinition
&);
70
void
operator=
(
const
OpalRingDefinition
&);
71
72
// Clone constructor.
73
OpalRingDefinition
(
const
std::string&
name
,
OpalRingDefinition
* parent);
74
};
75
76
#endif // OPAL_OpalRingDefinition_HH
OpalRingDefinition::MIN_R
Definition:
OpalRingDefinition.h:47
OpalElement.h
OpalRingDefinition::update
void update()
Definition:
OpalRingDefinition.cpp:97
OpalRingDefinition::SYMMETRY
Definition:
OpalRingDefinition.h:43
OpalRingDefinition::SCALE
Definition:
OpalRingDefinition.h:44
OpalRingDefinition::RFFREQ
Definition:
OpalRingDefinition.h:45
OpalRingDefinition::LAT_RINIT
Definition:
OpalRingDefinition.h:35
OpalRingDefinition::print
virtual void print(std::ostream &) const
Definition:
OpalRingDefinition.cpp:86
OpalRingDefinition::OpalRingDefinition
OpalRingDefinition()
Definition:
OpalRingDefinition.cpp:28
OpalRingDefinition
Definition:
OpalRingDefinition.h:31
OpalRingDefinition::LAT_PHIINIT
Definition:
OpalRingDefinition.h:36
OpalRingDefinition::operator=
void operator=(const OpalRingDefinition &)
OpalElement
Definition:
OpalElement.h:28
OpalRingDefinition::HARMONIC_NUMBER
Definition:
OpalRingDefinition.h:42
OpalRingDefinition::LAT_THETAINIT
Definition:
OpalRingDefinition.h:37
OpalRingDefinition::BEAM_RINIT
Definition:
OpalRingDefinition.h:38
OpalRingDefinition::SIZE
Definition:
OpalRingDefinition.h:49
name
const std::string name
Definition:
MaxNormRadialPeak.cpp:32
OpalRingDefinition::BEAM_THETAINIT
Definition:
OpalRingDefinition.h:40
OpalRingDefinition::BEAM_PRINIT
Definition:
OpalRingDefinition.h:41
OpalElement::COMMON
Definition:
OpalElement.h:56
OpalRingDefinition::MAX_R
Definition:
OpalRingDefinition.h:48
OpalRingDefinition::BEAM_PHIINIT
Definition:
OpalRingDefinition.h:39
Ring
Ring describes a ring type geometry for tracking.
Definition:
Ring.h:53
OpalRingDefinition::~OpalRingDefinition
virtual ~OpalRingDefinition()
Definition:
OpalRingDefinition.cpp:95
OpalRingDefinition::IS_CLOSED
Definition:
OpalRingDefinition.h:46
OpalRingDefinition::clone
virtual OpalRingDefinition * clone(const std::string &name)
Definition:
OpalRingDefinition.cpp:82
Generated on Tue Jul 2 2024 15:05:24 for OPAL (Object Oriented Parallel Accelerator Library) by
1.8.5