ImpactX
All.H
Go to the documentation of this file.
1 /* Copyright 2022-2023 The Regents of the University of California, through Lawrence
2  * Berkeley National Laboratory (subject to receipt of any required
3  * approvals from the U.S. Dept. of Energy). All rights reserved.
4  *
5  * This file is part of ImpactX.
6  *
7  * Authors: Axel Huebl
8  * License: BSD-3-Clause-LBNL
9  */
10 #ifndef IMPACTX_DISTRIBUTION_ALL_H
11 #define IMPACTX_DISTRIBUTION_ALL_H
12 
13 #include "Gaussian.H"
14 #include "Kurth4D.H"
15 #include "Kurth6D.H"
16 #include "KVdist.H"
17 #include "None.H"
18 #include "Semigaussian.H"
19 #include "Thermal.H"
20 #include "Triangle.H"
21 #include "Waterbag.H"
22 
23 #include <variant>
24 
25 
27 {
28  using KnownDistributions = std::variant<
29  None, /* must be first, so KnownDistributions creates a default constructor */
30  Gaussian,
31  Kurth4D,
32  Kurth6D,
33  KVdist,
34  Thermal,
35  Triangle,
37  Waterbag
38  >;
39 
40 } // namespace impactx::distribution
41 
42 #endif // IMPACTX_DISTRIBUTION_ALL_H
Definition: All.H:27
std::variant< None, Gaussian, Kurth4D, Kurth6D, KVdist, Thermal, Triangle, Semigaussian, Waterbag > KnownDistributions
Definition: All.H:38
Definition: Gaussian.H:26
Definition: KVdist.H:26
Definition: Kurth4D.H:26
Definition: Kurth6D.H:26
Definition: None.H:22
Definition: Semigaussian.H:26
Definition: Thermal.H:271
Definition: Triangle.H:26
Definition: Waterbag.H:26