File indexing completed on 2026-04-10 07:50:29
0001 #pragma once
0002 #include <cstring>
0003
0004 struct CustomStatus
0005 {
0006
0007 static constexpr const char* U_ = "Undefined" ;
0008 static constexpr const char* F_ = "FirstPoint" ;
0009 static constexpr const char* X_ = "StandardOpticalSurface" ;
0010 static constexpr const char* B_ = "StandardBoundary" ;
0011 static constexpr const char* N_ = "NotCustomSurfaceName" ;
0012 static constexpr const char* Z_ = "NotPositiveLocalZ" ;
0013 static constexpr const char* A_ = "CustomBoundaryAbsorb" ;
0014 static constexpr const char* R_ = "CustomBoundaryReflect" ;
0015 static constexpr const char* T_ = "CustomBoundartTransmit" ;
0016 static constexpr const char* D_ = "CustomBoundaryDetect" ;
0017 static constexpr const char* Y_ = "CustomARTCalc" ;
0018 static constexpr const char* H_ = "TraditionalPhotocathode" ;
0019 static const char* Name(char status);
0020 };
0021
0022 inline const char* CustomStatus::Name(char status)
0023 {
0024 const char* s = nullptr ;
0025 switch(status)
0026 {
0027 case 'U': s = U_ ; break ;
0028 case 'F': s = F_ ; break ;
0029 case 'X': s = X_ ; break ;
0030 case 'B': s = B_ ; break ;
0031 case 'N': s = N_ ; break ;
0032 case 'Z': s = Z_ ; break ;
0033 case 'A': s = A_ ; break ;
0034 case 'R': s = R_ ; break ;
0035 case 'T': s = T_ ; break ;
0036 case 'D': s = D_ ; break ;
0037 case 'Y': s = Y_ ; break ;
0038 case '-': s = H_ ; break ;
0039 }
0040 return s ;
0041 }
0042
0043