OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
src
src
Elements
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
private
:
76
// Not implemented.
77
OpalRingDefinition
(
const
OpalRingDefinition
&);
78
void
operator=
(
const
OpalRingDefinition
&);
79
80
// Clone constructor.
81
OpalRingDefinition
(
const
std::string &
name
,
OpalRingDefinition
*parent);
82
};
83
84
#endif
// OPAL_OpalRingDefinition_HH
OpalElement.h
name
const std::string name
Definition:
MaxNormRadialPeak.cpp:32
Ring
Ring describes a ring type geometry for tracking.
Definition:
Ring.h:64
OpalElement
Definition:
OpalElement.h:28
OpalElement::COMMON
@ COMMON
Definition:
OpalElement.h:55
OpalRingDefinition
Definition:
OpalRingDefinition.h:41
OpalRingDefinition::print
virtual void print(std::ostream &) const
Definition:
OpalRingDefinition.cpp:76
OpalRingDefinition::operator=
void operator=(const OpalRingDefinition &)
OpalRingDefinition::~OpalRingDefinition
virtual ~OpalRingDefinition()
Definition:
OpalRingDefinition.cpp:85
OpalRingDefinition::OpalRingDefinition
OpalRingDefinition()
Definition:
OpalRingDefinition.cpp:36
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::clone
virtual OpalRingDefinition * clone(const std::string &name)
Definition:
OpalRingDefinition.cpp:72
OpalRingDefinition::update
void update()
Definition:
OpalRingDefinition.cpp:87
OpalRingDefinition::OpalRingDefinition
OpalRingDefinition(const OpalRingDefinition &)
Generated on Wed Aug 25 2021 16:41:04 for OPAL (Object Oriented Parallel Accelerator Library) by
1.9.1