OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
OpalDrift.h
Go to the documentation of this file.
1//
2// Class OpalDrift
3// The class of OPAL drift spaces.
4//
5// Copyright (c) 200x - 2020, Paul Scherrer Institut, Villigen PSI, Switzerland
6// All rights reserved
7//
8// This file is part of OPAL.
9//
10// OPAL is free software: you can redistribute it and/or modify
11// it under the terms of the GNU General Public License as published by
12// the Free Software Foundation, either version 3 of the License, or
13// (at your option) any later version.
14//
15// You should have received a copy of the GNU General Public License
16// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
17//
18#ifndef OPAL_OpalDrift_HH
19#define OPAL_OpalDrift_HH
20
22
24
25class OpalWake;
27
28class OpalDrift: public OpalElement {
29
30public:
31
32 enum {
33 GEOMETRY = COMMON, // geometry of boundary, one more enum member besides the common ones in OpalElement.
34 NSLICES, // The number of slices / steps per element for map tracking
35 SIZE
36 };
37
39 OpalDrift();
40
41 virtual ~OpalDrift();
42
44 virtual OpalDrift* clone(const std::string& name);
45
47 // Return true.
48 virtual bool isDrift() const;
49
51 virtual void update();
52
53private:
54
55 // Not implemented.
57 void operator=(const OpalDrift&);
58
59 // Clone constructor.
60 OpalDrift(const std::string& name, OpalDrift* parent);
61
65};
66
67#endif // OPAL_OpalDrift_HH
const std::string name
virtual bool isDrift() const
Test for drift.
Definition: OpalDrift.cpp:74
@ GEOMETRY
Definition: OpalDrift.h:33
void operator=(const OpalDrift &)
OpalDrift(const OpalDrift &)
virtual void update()
Update the embedded CLASSIC drift.
Definition: OpalDrift.cpp:79
ParticleMatterInteraction * parmatint_m
Definition: OpalDrift.h:63
BoundaryGeometry * obgeo_m
Definition: OpalDrift.h:64
OpalDrift()
Exemplar constructor.
Definition: OpalDrift.cpp:26
virtual ~OpalDrift()
Definition: OpalDrift.cpp:59
virtual OpalDrift * clone(const std::string &name)
Make clone.
Definition: OpalDrift.cpp:69
OpalWake * owk_m
Definition: OpalDrift.h:62