Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

SimFlag.h

Go to the documentation of this file.
00001 
00002 // $Id: SimFlag.h,v 1.5 2005/08/26 17:18:48 rhatcher Exp $
00003 //
00004 // SimFlag
00005 //
00006 // SimFlag defines SimFlag_t which is an enumeration of the
00007 // legal data sources
00008 //
00009 // Author:  R. Hatcher 2000.05.09
00010 //
00012 
00013 #ifndef SIMFLAG_H
00014 #define SIMFLAG_H
00015 
00016 #ifndef ROOT_Rtypes
00017 #if !defined(__CINT__) || defined(__MAKECINT__)
00018 #include "Rtypes.h"
00019 #endif
00020 #endif
00021 
00022 namespace SimFlag {
00023 
00024    typedef enum ESimFlag {
00025       kUnknown      = 0x00,
00026       kData         = 0x01,
00027       kDaqFakeData  = 0x02, 
00028       kMC           = 0x04,
00029       kReroot       = 0x08
00030    } SimFlag_t;
00031 
00032    Int_t       FullMask();
00033 
00034    // Translation enum to/from character strings
00035 
00036    const Char_t*       AsString(SimFlag_t detector);
00037    const Char_t*       MaskToString(Int_t mask);
00038    SimFlag::SimFlag_t  StringToEnum(const Char_t* chars, Int_t maxChar=0);
00039    Int_t               StringToMask(const Char_t* chars, Int_t maxChar=0);
00040 
00041    // Translation from mask to compact value
00042    Int_t               Compact(SimFlag_t simFlag);
00043    SimFlag::SimFlag_t  Expand(Int_t compactSimFlag);
00044 
00045 }
00046 
00047 #endif // SIMFLAG_H

Generated on Sat Nov 21 22:47:44 2009 for loon by  doxygen 1.3.9.1