-
Notifications
You must be signed in to change notification settings - Fork 5
/
surfaceEnums.h
76 lines (72 loc) · 1.89 KB
/
surfaceEnums.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
// map Geant4 surface enum values to strings
//
#include <string>
#include <vector>
#include "Geant4/G4OpticalSurface.hh"
namespace surfaceEnum {
// reverse enumerators
// FIXME: maybe there is a better way from within Geant4, but after a first look,
// there isn't one; these string vectors have been adapted from enums in
// `G4*Surface*.hh` headers
const std::vector<std::string> Type = {
"dielectric_metal",
"dielectric_dielectric",
"dielectric_LUT",
"dielectric_LUTDAVIS",
"dielectric_dichroic",
"firsov",
"x_ray"
};
const std::vector<std::string> Model = {
"glisur",
"unified",
"LUT",
"DAVIS",
"dichroic"
};
const std::vector<std::string> Finish = {
"polished",
"polishedfrontpainted",
"polishedbackpainted",
"ground",
"groundfrontpainted",
"groundbackpainted",
"polishedlumirrorair",
"polishedlumirrorglue",
"polishedair",
"polishedteflonair",
"polishedtioair",
"polishedtyvekair",
"polishedvm2000air",
"polishedvm2000glue",
"etchedlumirrorair",
"etchedlumirrorglue",
"etchedair",
"etchedteflonair",
"etchedtioair",
"etchedtyvekair",
"etchedvm2000air",
"etchedvm2000glue",
"groundlumirrorair",
"groundlumirrorglue",
"groundair",
"groundteflonair",
"groundtioair",
"groundtyvekair",
"groundvm2000air",
"groundvm2000glue",
"Rough_LUT",
"RoughTeflon_LUT",
"RoughESR_LUT",
"RoughESRGrease_LUT",
"Polished_LUT",
"PolishedTeflon_LUT",
"PolishedESR_LUT",
"PolishedESRGrease_LUT",
"Detector_LUT"
};
// accessors
static std::string GetType(G4OpticalSurface *surf) { return Type[int(surf->GetType())]; }
static std::string GetModel(G4OpticalSurface *surf) { return Model[int(surf->GetModel())]; }
static std::string GetFinish(G4OpticalSurface *surf) { return Finish[int(surf->GetFinish())]; }
}