PSCF v1.3.1
rpg/system/SystemConstRef.h
1#ifndef RPG_SYSTEM_CONST_REF_H
2#define RPG_SYSTEM_CONST_REF_H
3
4/*
5* PSCF - Polymer Self-Consistent Field
6*
7* Copyright 2015 - 2025, The Regents of the University of Minnesota
8* Distributed under the terms of the GNU General Public License.
9*/
10
11#include <prdc/system/SystemConstRefTmpl.h> // base class template
12#include <rpg/system/System.h> // template parameter
13
14namespace Pscf {
15namespace Rpg {
16
17 using namespace Util;
18 using namespace Pscf::Prdc;
19 using namespace Pscf::Prdc::Cpu;
20
26 template <int D>
27 class SystemConstRef : public SystemConstRefTmpl< System<D> >
28 {
29 public:
30
33
38 : Base()
39 {};
40
45 : Base(system)
46 {};
47
48 };
49
50 // Explicit instantiation declarations
51 extern template class SystemConstRef<1>;
52 extern template class SystemConstRef<2>;
53 extern template class SystemConstRef<3>;
54
55}
56
57namespace Prdc {
58
59 // Explicit instantiation declarations for base class
60 extern template class SystemConstRefTmpl< Rpg::System<1> >;
61 extern template class SystemConstRefTmpl< Rpg::System<2> >;
62 extern template class SystemConstRefTmpl< Rpg::System<3> >;
63
64}
65
66} // namespace Pscf
67#endif
Base class template for const access to an associated System.
SystemConstRefTmpl< System< D > > Base
Alias for base class.
SystemConstRef(System< D > const &system)
Constructor.
Main class, representing a complete physical system.
Fields and FFTs for periodic boundary conditions (CPU)
Definition CField.cpp:12
Periodic fields and crystallography.
Definition CField.cpp:11
SCFT and PS-FTS with real periodic fields (GPU)
PSCF package top-level namespace.
Definition param_pc.dox:1