EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SimFlag.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file SimFlag.h
1 
2 #ifndef SIMFLAG_H
3 #define SIMFLAG_H
4 
5 #ifndef ROOT_Rtypes
6 #if !defined(__CINT__) || defined(__MAKECINT__)
7 #include "Rtypes.h"
8 #endif
9 #endif
10 
11 namespace SimFlag
12 {
13 
14 typedef enum ESimFlag {
15  kUnknown = 0x00,
16  kData = 0x01,
17  kDaqSimData = 0x02,
18  kMC = 0x04,
19  kReroot = 0x08
20 } SimFlag_t;
21 
22 Int_t FullMask();
23 
24 // Translation enum to/from character strings
25 
26 const Char_t* AsString(SimFlag_t detector);
27 const Char_t* MaskToString(Int_t mask);
28 SimFlag::SimFlag_t StringToEnum(const Char_t* chars, Int_t maxChar=0);
29 Int_t StringToMask(const Char_t* chars, Int_t maxChar=0);
30 
31 // Translation from mask to compact value
32 Int_t Compact(SimFlag_t simFlag);
33 SimFlag::SimFlag_t Expand(Int_t compactSimFlag);
34 
35 }
36 
37 #endif // SIMFLAG_H