OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
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
23
25
27
28public:
29
31 enum {
32 R = COMMON, // The horizontal half-size of a hole
37 SIZE
38 };
39
42
43 virtual ~OpalPepperPot();
44
46 virtual OpalPepperPot* clone(const std::string& name);
47
49 virtual void update();
50
51private:
52
53 // Not implemented.
56
57 // Clone constructor.
58 OpalPepperPot(const std::string& name, OpalPepperPot* parent);
59
61};
62
63#endif // OPAL_OpalPepperPot_HH
const std::string name
ParticleMatterInteraction * parmatint_m
Definition: OpalPepperPot.h:60
virtual void update()
Update the embedded CLASSIC collimator.
void operator=(const OpalPepperPot &)
OpalPepperPot(const OpalPepperPot &)
OpalPepperPot()
Exemplar constructor.
virtual OpalPepperPot * clone(const std::string &name)
Make clone.
virtual ~OpalPepperPot()