OPALX (Object Oriented Parallel Accelerator Library for Exascal)
master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
OpalRingDefinition.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2012, Chris Rogers
3
* All rights reserved.
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions are met:
6
* 1. Redistributions of source code must retain the above copyright notice,
7
* this list of conditions and the following disclaimer.
8
* 2. Redistributions in binary form must reproduce the above copyright notice,
9
* this list of conditions and the following disclaimer in the documentation
10
* and/or other materials provided with the distribution.
11
* 3. Neither the name of STFC nor the names of its contributors may be used to
12
* endorse or promote products derived from this software without specific
13
* prior written permission.
14
*
15
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
19
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25
* POSSIBILITY OF SUCH DAMAGE.
26
*/
27
28
#ifndef OPAL_OpalRingDefinition_HH
29
#define OPAL_OpalRingDefinition_HH
30
31
#include "
Elements/OpalElement.h
"
32
33
class
Ring
;
34
41
class
OpalRingDefinition
:
public
OpalElement
{
42
public
:
44
enum
{
45
LAT_RINIT
=
COMMON
,
46
LAT_PHIINIT
,
47
LAT_THETAINIT
,
48
BEAM_RINIT
,
49
BEAM_PHIINIT
,
50
BEAM_PRINIT
,
51
HARMONIC_NUMBER
,
52
SYMMETRY
,
53
SCALE
,
54
RFFREQ
,
55
IS_CLOSED
,
56
MIN_R
,
57
MAX_R
,
58
SIZE
// size of the enum
59
};
60
62
OpalRingDefinition
();
63
65
virtual
~OpalRingDefinition
();
66
68
virtual
OpalRingDefinition
*
clone
(
const
std::string& name);
69
71
void
update
();
72
74
virtual
void
print
(std::ostream&)
const
;
75
76
private
:
77
// Not implemented.
78
OpalRingDefinition
(
const
OpalRingDefinition
&);
79
void
operator=
(
const
OpalRingDefinition
&);
80
81
// Clone constructor.
82
OpalRingDefinition
(
const
std::string& name,
OpalRingDefinition
* parent);
83
};
84
85
#endif
// OPAL_OpalRingDefinition_HH
OpalElement.h
OpalElement
Definition
OpalElement.h:31
OpalElement::COMMON
@ COMMON
Definition
OpalElement.h:57
OpalRingDefinition
Definition
OpalRingDefinition.h:41
OpalRingDefinition::print
virtual void print(std::ostream &) const
Definition
OpalRingDefinition.cpp:86
OpalRingDefinition::operator=
void operator=(const OpalRingDefinition &)
OpalRingDefinition::HARMONIC_NUMBER
@ HARMONIC_NUMBER
Definition
OpalRingDefinition.h:51
OpalRingDefinition::SIZE
@ SIZE
Definition
OpalRingDefinition.h:58
OpalRingDefinition::BEAM_PHIINIT
@ BEAM_PHIINIT
Definition
OpalRingDefinition.h:49
OpalRingDefinition::SCALE
@ SCALE
Definition
OpalRingDefinition.h:53
OpalRingDefinition::LAT_THETAINIT
@ LAT_THETAINIT
Definition
OpalRingDefinition.h:47
OpalRingDefinition::RFFREQ
@ RFFREQ
Definition
OpalRingDefinition.h:54
OpalRingDefinition::IS_CLOSED
@ IS_CLOSED
Definition
OpalRingDefinition.h:55
OpalRingDefinition::LAT_RINIT
@ LAT_RINIT
Definition
OpalRingDefinition.h:45
OpalRingDefinition::LAT_PHIINIT
@ LAT_PHIINIT
Definition
OpalRingDefinition.h:46
OpalRingDefinition::BEAM_RINIT
@ BEAM_RINIT
Definition
OpalRingDefinition.h:48
OpalRingDefinition::SYMMETRY
@ SYMMETRY
Definition
OpalRingDefinition.h:52
OpalRingDefinition::MIN_R
@ MIN_R
Definition
OpalRingDefinition.h:56
OpalRingDefinition::MAX_R
@ MAX_R
Definition
OpalRingDefinition.h:57
OpalRingDefinition::BEAM_PRINIT
@ BEAM_PRINIT
Definition
OpalRingDefinition.h:50
OpalRingDefinition::~OpalRingDefinition
virtual ~OpalRingDefinition()
Definition
OpalRingDefinition.cpp:93
OpalRingDefinition::OpalRingDefinition
OpalRingDefinition()
Definition
OpalRingDefinition.cpp:36
OpalRingDefinition::clone
virtual OpalRingDefinition * clone(const std::string &name)
Definition
OpalRingDefinition.cpp:82
OpalRingDefinition::update
void update()
Definition
OpalRingDefinition.cpp:95
OpalRingDefinition::OpalRingDefinition
OpalRingDefinition(const OpalRingDefinition &)
Ring
Ring describes a ring type geometry for tracking.
Definition
Ring.h:62
src
Elements
OpalRingDefinition.h
Generated on Mon Jun 1 2026 10:40:52 for OPALX (Object Oriented Parallel Accelerator Library for Exascal) by
1.9.8