OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
src
src
Elements
OpalPepperPot.h
Go to the documentation of this file.
1
//
2
// Class OpalPepperPot
3
// The PEPPERPOT element.
4
// The class of OPAL elliptic collimators.
5
//
6
// Copyright (c) 200x - 2020, Paul Scherrer Institut, Villigen PSI, Switzerland
7
// All rights reserved
8
//
9
// This file is part of OPAL.
10
//
11
// OPAL is free software: you can redistribute it and/or modify
12
// it under the terms of the GNU General Public License as published by
13
// the Free Software Foundation, either version 3 of the License, or
14
// (at your option) any later version.
15
//
16
// You should have received a copy of the GNU General Public License
17
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
18
//
19
#ifndef OPAL_OpalPepperPot_HH
20
#define OPAL_OpalPepperPot_HH
21
22
#include "
Elements/OpalElement.h
"
23
24
class
ParticleMatterInteraction
;
25
26
class
OpalPepperPot
:
public
OpalElement
{
27
28
public
:
29
31
enum
{
32
R
=
COMMON
,
// The horizontal half-size of a hole
33
NHOLX
,
34
NHOLY
,
35
XSIZE
,
36
YSIZE
,
37
SIZE
38
};
39
41
OpalPepperPot
();
42
43
virtual
~OpalPepperPot
();
44
46
virtual
OpalPepperPot
*
clone
(
const
std::string&
name
);
47
49
virtual
void
update
();
50
51
private
:
52
53
// Not implemented.
54
OpalPepperPot
(
const
OpalPepperPot
&);
55
void
operator=
(
const
OpalPepperPot
&);
56
57
// Clone constructor.
58
OpalPepperPot
(
const
std::string&
name
,
OpalPepperPot
* parent);
59
60
ParticleMatterInteraction
*
parmatint_m
;
61
};
62
63
#endif
// OPAL_OpalPepperPot_HH
OpalElement.h
name
const std::string name
Definition:
MaxNormRadialPeak.cpp:32
OpalElement
Definition:
OpalElement.h:28
OpalElement::COMMON
@ COMMON
Definition:
OpalElement.h:55
OpalPepperPot
Definition:
OpalPepperPot.h:26
OpalPepperPot::parmatint_m
ParticleMatterInteraction * parmatint_m
Definition:
OpalPepperPot.h:60
OpalPepperPot::update
virtual void update()
Update the embedded CLASSIC collimator.
Definition:
OpalPepperPot.cpp:64
OpalPepperPot::operator=
void operator=(const OpalPepperPot &)
OpalPepperPot::OpalPepperPot
OpalPepperPot(const OpalPepperPot &)
OpalPepperPot::OpalPepperPot
OpalPepperPot()
Exemplar constructor.
Definition:
OpalPepperPot.cpp:25
OpalPepperPot::clone
virtual OpalPepperPot * clone(const std::string &name)
Make clone.
Definition:
OpalPepperPot.cpp:59
OpalPepperPot::NHOLX
@ NHOLX
Definition:
OpalPepperPot.h:33
OpalPepperPot::SIZE
@ SIZE
Definition:
OpalPepperPot.h:37
OpalPepperPot::NHOLY
@ NHOLY
Definition:
OpalPepperPot.h:34
OpalPepperPot::YSIZE
@ YSIZE
Definition:
OpalPepperPot.h:36
OpalPepperPot::R
@ R
Definition:
OpalPepperPot.h:32
OpalPepperPot::XSIZE
@ XSIZE
Definition:
OpalPepperPot.h:35
OpalPepperPot::~OpalPepperPot
virtual ~OpalPepperPot()
Definition:
OpalPepperPot.cpp:53
ParticleMatterInteraction
Definition:
ParticleMatterInteraction.h:34
Generated on Wed Aug 25 2021 16:41:04 for OPAL (Object Oriented Parallel Accelerator Library) by
1.9.1