BornAgain  1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
AxisNames.h
Go to the documentation of this file.
1 // ************************************************************************************************
2 //
3 // BornAgain: simulate and fit reflection and scattering
4 //
5 //! @file Device/Coord/AxisNames.h
6 //! @brief Defines axisUnitLabel and maps in namespace AxisNames.
7 //!
8 //! @homepage http://www.bornagainproject.org
9 //! @license GNU General Public License v3 or higher (see COPYING)
10 //! @copyright Forschungszentrum Jülich GmbH 2018
11 //! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS)
12 //
13 // ************************************************************************************************
14 
15 #ifdef SWIG
16 #error no need to expose this header to Swig
17 #endif
18 
19 #ifndef USER_API
20 #ifndef BORNAGAIN_DEVICE_COORD_AXISNAMES_H
21 #define BORNAGAIN_DEVICE_COORD_AXISNAMES_H
22 
23 #include "Device/Coord/Tags.h"
24 #include "Wrap/WinDllMacros.h"
25 #include <map>
26 #include <string>
27 
28 const std::map<Coords, const char*> axisUnitLabel = {
29  {Coords::UNDEFINED, "undefined"}, {Coords::NBINS, "bin"}, {Coords::RADIANS, "rad"},
30  {Coords::DEGREES, "deg"}, {Coords::MM, "mm"}, {Coords::QSPACE, "1/nm"},
31  {Coords::QXQY, "1/nm"}, {Coords::RQ4, "nm^-4?"}};
32 
33 //! Contains const maps that give the right axis names for different detector types and units
34 //! @ingroup detector
35 
36 namespace DataUtils::AxisNames {
37 
38 extern BA_DEVICE_API_ const std::map<Coords, std::string> sphericalAxis0;
39 extern BA_DEVICE_API_ const std::map<Coords, std::string> sphericalAxis1;
40 extern BA_DEVICE_API_ const std::map<Coords, std::string> rectangularAxis0;
41 extern BA_DEVICE_API_ const std::map<Coords, std::string> rectangularAxis1;
42 extern BA_DEVICE_API_ const std::map<Coords, std::string> offspecAxis0;
43 extern BA_DEVICE_API_ const std::map<Coords, std::string> offspecAxis1;
44 extern BA_DEVICE_API_ const std::map<Coords, std::string> specAxis;
45 extern BA_DEVICE_API_ const std::map<Coords, std::string> specAxisQ;
46 extern BA_DEVICE_API_ const std::map<Coords, std::string> sampleDepthAxis;
47 
48 } // namespace DataUtils::AxisNames
49 
50 #endif // BORNAGAIN_DEVICE_COORD_AXISNAMES_H
51 #endif // USER_API
const std::map< Coords, const char * > axisUnitLabel
Definition: AxisNames.h:28
Defines enum Axis::Units.
Defines export/import macros for global data symbols.
#define BA_DEVICE_API_
Macro for export/import global data symbols (Windows only). Relevant for Windows only....
Definition: WinDllMacros.h:56
Contains const maps that give the right axis names for different detector types and units.
Definition: AxisNames.cpp:18
BA_DEVICE_API_ const std::map< Coords, std::string > specAxisQ
Definition: AxisNames.cpp:61
BA_DEVICE_API_ const std::map< Coords, std::string > offspecAxis0
Definition: AxisNames.cpp:46
BA_DEVICE_API_ const std::map< Coords, std::string > specAxis
Definition: AxisNames.cpp:55
BA_DEVICE_API_ const std::map< Coords, std::string > sphericalAxis1
Definition: AxisNames.cpp:27
BA_DEVICE_API_ const std::map< Coords, std::string > rectangularAxis1
Definition: AxisNames.cpp:39
BA_DEVICE_API_ const std::map< Coords, std::string > sampleDepthAxis
Definition: AxisNames.cpp:71
BA_DEVICE_API_ const std::map< Coords, std::string > sphericalAxis0
Definition: AxisNames.cpp:21
BA_DEVICE_API_ const std::map< Coords, std::string > rectangularAxis0
Definition: AxisNames.cpp:35
BA_DEVICE_API_ const std::map< Coords, std::string > offspecAxis1
Definition: AxisNames.cpp:50