OPAL (Object Oriented Parallel Accelerator Library)
2024.1
OPAL
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
Elements
OpalOutputPlane.h
Go to the documentation of this file.
1
// Copyright (c) 2023, Chris Rogers
2
// All rights reserved
3
//
4
// This file is part of OPAL.
5
//
6
// OPAL is free software: you can redistribute it and/or modify
7
// it under the terms of the GNU General Public License as published by
8
// the Free Software Foundation, either version 3 of the License, or
9
// (at your option) any later version.
10
//
11
// You should have received a copy of the GNU General Public License
12
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
13
//
14
15
#ifndef OPAL_OpalOutputPlane_H
16
#define OPAL_OpalOutputPlane_H
17
18
#include "
Elements/OpalElement.h
"
19
20
// Class OpalOutputPlane
21
// ------------------------------------------------------------------------
23
24
25
class
OpalOutputPlane
:
public
OpalElement
{
26
27
public
:
28
30
enum
{
31
CENTRE
=
COMMON
,
// plane centre position (3-vector)
32
NORMAL
,
// plane normal (3-vector)
33
WIDTH
,
// maximum allowed horizontal displacement from centre, in global x-y plane
34
HEIGHT
,
// maximum allowed vertical displacement from centre, in global vertical direction
35
RADIUS
,
// maximum allowed radial displacement from centre
36
37
XSTART
,
// "PROBE"-style placement - horizontal start position
38
XEND
,
// "PROBE"-style placement - horizontal end position
39
YSTART
,
// "PROBE"-style placement - vertical start position
40
YEND
,
// "PROBE"-style placement - vertical end position
41
42
PLACEMENT_STYLE
,
// "PROBE" or "CENTRE_NORMAL"
43
44
ALGORITHM
,
// algorithm used to find crossing-point
45
TOLERANCE
,
// tolerance on position estimate
46
REFERENCE_ALIGNMENT_PARTICLE
,
// if true, centres on reference particle
47
VERBOSE
,
// set to 0 - 4 to get more verbose output
48
49
SIZE
50
};
52
OpalOutputPlane
();
53
54
virtual
~OpalOutputPlane
();
55
57
virtual
OpalOutputPlane
*
clone
(
const
std::string &
name
);
58
60
//virtual void fillRegisteredAttributes(const ElementBase &, ValueFlag);
61
63
virtual
void
update
();
64
65
private
:
66
67
// Not implemented.
68
OpalOutputPlane
(
const
OpalOutputPlane
&);
69
void
operator=
(
const
OpalOutputPlane
&);
70
71
// Clone constructor.
72
OpalOutputPlane
(
const
std::string &
name
,
OpalOutputPlane
*parent);
73
};
74
75
#endif // OPAL_OpalOutputPlane_H
OpalOutputPlane::RADIUS
Definition:
OpalOutputPlane.h:35
OpalOutputPlane::SIZE
Definition:
OpalOutputPlane.h:49
OpalOutputPlane::XEND
Definition:
OpalOutputPlane.h:38
OpalElement.h
OpalOutputPlane::clone
virtual OpalOutputPlane * clone(const std::string &name)
Make clone.
Definition:
OpalOutputPlane.cpp:77
OpalOutputPlane::REFERENCE_ALIGNMENT_PARTICLE
Definition:
OpalOutputPlane.h:46
OpalOutputPlane::YEND
Definition:
OpalOutputPlane.h:40
OpalOutputPlane::TOLERANCE
Definition:
OpalOutputPlane.h:45
OpalOutputPlane::update
virtual void update()
Fill in all registered attributes.
Definition:
OpalOutputPlane.cpp:81
OpalElement
Definition:
OpalElement.h:28
OpalOutputPlane::VERBOSE
Definition:
OpalOutputPlane.h:47
OpalOutputPlane::PLACEMENT_STYLE
Definition:
OpalOutputPlane.h:42
OpalOutputPlane::~OpalOutputPlane
virtual ~OpalOutputPlane()
Definition:
OpalOutputPlane.cpp:73
OpalOutputPlane::XSTART
Definition:
OpalOutputPlane.h:37
OpalOutputPlane::NORMAL
Definition:
OpalOutputPlane.h:32
name
const std::string name
Definition:
MaxNormRadialPeak.cpp:32
OpalOutputPlane::CENTRE
Definition:
OpalOutputPlane.h:31
OpalElement::COMMON
Definition:
OpalElement.h:56
OpalOutputPlane
Interface for output plane element.
Definition:
OpalOutputPlane.h:25
OpalOutputPlane::WIDTH
Definition:
OpalOutputPlane.h:33
OpalOutputPlane::HEIGHT
Definition:
OpalOutputPlane.h:34
OpalOutputPlane::YSTART
Definition:
OpalOutputPlane.h:39
OpalOutputPlane::operator=
void operator=(const OpalOutputPlane &)
OpalOutputPlane::OpalOutputPlane
OpalOutputPlane()
Exemplar constructor.
Definition:
OpalOutputPlane.cpp:25
OpalOutputPlane::ALGORITHM
Definition:
OpalOutputPlane.h:44
Generated on Tue Jul 2 2024 15:05:24 for OPAL (Object Oriented Parallel Accelerator Library) by
1.8.5