OPAL (Object Oriented Parallel Accelerator Library)
2022.1
OPAL
src
src
Elements
OpalStripper.h
Go to the documentation of this file.
1
//
2
// Class OpalStripper
3
// The Stripper element
4
//
5
// Copyright (c) 2011, Jianjun Yang, Paul Scherrer Institut, Villigen PSI, Switzerland
6
// Copyright (c) 2014, 2017-2018, Paul Scherrer Institut, Villigen PSI, Switzerland
7
// All rights reserved
8
//
9
// Implemented as part of the PhD thesis
10
// "Beam dynamics in high intensity cyclotrons including neighboring bunch effects"
11
// and the paper
12
// "Beam dynamics in high intensity cyclotrons including neighboring bunch effects:
13
// Model, implementation, and application"
14
// (https://journals.aps.org/prab/pdf/10.1103/PhysRevSTAB.13.064201)
15
//
16
// This file is part of OPAL.
17
//
18
// OPAL is free software: you can redistribute it and/or modify
19
// it under the terms of the GNU General Public License as published by
20
// the Free Software Foundation, either version 3 of the License, or
21
// (at your option) any later version.
22
//
23
// You should have received a copy of the GNU General Public License
24
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
25
//
26
#ifndef OPAL_OpalStripper_HH
27
#define OPAL_OpalStripper_HH
28
29
#include "
Elements/OpalElement.h
"
30
31
class
OpalStripper
:
public
OpalElement
{
32
33
public
:
34
36
enum
{
37
XSTART
=
COMMON
,
// Start of x coordinate
38
XEND
,
// End of x coordinate
39
YSTART
,
// Start of y coordinate
40
YEND
,
// End of y coordinate
41
WIDTH
,
// Width of the probe
42
OPCHARGE
,
// Charge number of the outcome particle
43
OPMASS
,
// Mass of the outcome particle
44
OPYIELD
,
45
STOP
,
46
SIZE
47
};
48
49
OpalStripper
();
50
51
virtual
~OpalStripper
();
52
54
virtual
OpalStripper
*
clone
(
const
std::string &
name
);
55
57
virtual
void
update
();
58
59
private
:
60
61
// Not implemented.
62
OpalStripper
(
const
OpalStripper
&);
63
void
operator=
(
const
OpalStripper
&);
64
65
// Clone constructor.
66
OpalStripper
(
const
std::string &
name
,
OpalStripper
*parent);
67
68
};
69
70
#endif
// OPAL_OpalStripper_HH
OpalElement.h
name
const std::string name
Definition:
MaxNormRadialPeak.cpp:32
OpalElement
Definition:
OpalElement.h:28
OpalElement::COMMON
@ COMMON
Definition:
OpalElement.h:56
OpalStripper
Definition:
OpalStripper.h:31
OpalStripper::OpalStripper
OpalStripper()
Definition:
OpalStripper.cpp:34
OpalStripper::clone
virtual OpalStripper * clone(const std::string &name)
Make clone.
Definition:
OpalStripper.cpp:73
OpalStripper::update
virtual void update()
Update the embedded CLASSIC septum.
Definition:
OpalStripper.cpp:78
OpalStripper::~OpalStripper
virtual ~OpalStripper()
Definition:
OpalStripper.cpp:69
OpalStripper::operator=
void operator=(const OpalStripper &)
OpalStripper::YEND
@ YEND
Definition:
OpalStripper.h:40
OpalStripper::SIZE
@ SIZE
Definition:
OpalStripper.h:46
OpalStripper::YSTART
@ YSTART
Definition:
OpalStripper.h:39
OpalStripper::OPCHARGE
@ OPCHARGE
Definition:
OpalStripper.h:42
OpalStripper::OPYIELD
@ OPYIELD
Definition:
OpalStripper.h:44
OpalStripper::OPMASS
@ OPMASS
Definition:
OpalStripper.h:43
OpalStripper::XEND
@ XEND
Definition:
OpalStripper.h:38
OpalStripper::STOP
@ STOP
Definition:
OpalStripper.h:45
OpalStripper::XSTART
@ XSTART
Definition:
OpalStripper.h:37
OpalStripper::WIDTH
@ WIDTH
Definition:
OpalStripper.h:41
OpalStripper::OpalStripper
OpalStripper(const OpalStripper &)
Generated on Thu Oct 20 2022 17:40:11 for OPAL (Object Oriented Parallel Accelerator Library) by
1.9.3