OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
OPAL
OpalRBend.h
Go to the documentation of this file.
1 //
2 // Class OpalRBend
3 // The RBEND element.
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_OpalRBend_HH
19 #define OPAL_OpalRBend_HH
20 
21 #include "Elements/OpalBend.h"
22 
23 class OpalWake;
25 
26 class OpalRBend: public OpalBend {
27 
28 public:
29 
31  OpalRBend();
32 
33  virtual ~OpalRBend();
34 
36  virtual OpalRBend* clone(const std::string& name);
37 
39  virtual void update();
40 
41 private:
42 
43  // Not implemented.
45  void operator=(const OpalRBend&);
46 
47  // Clone constructor.
48  OpalRBend(const std::string& name, OpalRBend* parent);
49 
52 };
53 
54 #endif // OPAL_OpalRBend_HH
const std::string name
Base class for all bending magnets.
Definition: OpalBend.h:30
void operator=(const OpalRBend &)
OpalRBend(const OpalRBend &)
virtual OpalRBend * clone(const std::string &name)
Make clone.
Definition: OpalRBend.cpp:54
OpalRBend()
Exemplar constructor.
Definition: OpalRBend.cpp:28
virtual void update()
Update the embedded CLASSIC bend.
Definition: OpalRBend.cpp:59
ParticleMatterInteraction * parmatint_m
Definition: OpalRBend.h:51
OpalWake * owk_m
Definition: OpalRBend.h:50
virtual ~OpalRBend()
Definition: OpalRBend.cpp:48