Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-10 07:50:29

0001 #pragma once
0002 #include <cstring>
0003 
0004 struct CustomStatus
0005 {
0006    // TODO: check and update these 
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