OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
OpalSinusoidalTimeDependence.h
Go to the documentation of this file.
1//
2// Class OpalSinusoidalTimeDependence
3// User interface for the time dependence class that generates sine waves
4//
5// Copyright (c) 2025, Jon Thompson, STFC Rutherford Appleton Laboratory, Didcot, UK
6//
7// This file is part of OPAL.
8//
9// OPAL is free software: you can redistribute it and/or modify
10// it under the terms of the GNU General Public License as published by
11// the Free Software Foundation, either version 3 of the License, or
12// (at your option) any later version.
13//
14// You should have received a copy of the GNU General Public License
15// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
16//
17
18#ifndef OPAL_OPALSINUSOIDALTIMEDEPENDENCE_H
19#define OPAL_OPALSINUSOIDALTIMEDEPENDENCE_H
20
22
25public:
27 enum {
32 SIZE // size of the enum
33 };
34
37
39 ~OpalSinusoidalTimeDependence() override = default;
40
42 OpalSinusoidalTimeDependence *clone(const std::string &name) override;
43
45 void update() override;
46
48 void print(std::ostream &) const override;
49
50private:
51 // Not implemented.
54
55 // Clone constructor.
57
58 static const std::string doc_string;
59};
60
61#endif // OPAL_OPALSINUSOIDALTIMEDEPENDENCE_H
const std::string name
OpalElement(int size, const char *name, const char *help)
Exemplar constructor.
OpalSinusoidalTimeDependence * clone(const std::string &name) override
OpalSinusoidalTimeDependence & operator=(const OpalSinusoidalTimeDependence &)=delete
void print(std::ostream &) const override
~OpalSinusoidalTimeDependence() override=default
OpalSinusoidalTimeDependence(const OpalSinusoidalTimeDependence &)=delete