00001 00002 // $Id: CoilStatus.h,v 1.2 2006/04/24 15:33:48 habig Exp $ 00003 // 00004 // CoilStatus 00005 // 00006 // CoilStatus defines CoilStatus_t which is an enumeration of the 00007 // legal coil stati. Note that multiple bits can be set. If all are clear 00008 // it's way OK, if the LSB is zero you should use the data but might want to 00009 // know about higher order bits. 00010 // 00011 // Author: A. Habig 2005.03.08 00012 // 00014 00015 #ifndef COILSTATUS_H 00016 #define COILSTATUS_H 00017 00018 #ifndef ROOT_Rtypes 00019 #if !defined(__CINT__) || defined(__MAKECINT__) 00020 #include "Rtypes.h" 00021 #endif 00022 #endif 00023 00024 namespace CoilStatus { 00025 typedef enum ECoilStatus { 00026 kOK = 0x00, // Completely OK, no errors or warnings 00027 kBad = 0x01, // Judgement of OK (0) or Bad (1) 00028 kReverse = 0x02, // Forward (0) or reverse (1) current 00029 kDegauss = 0x04, // Properly degaussed (0) or not (1) 00030 kCalib = 0x08, // Properly calibrated (0) or not (1) 00031 kBadCurrent = 0x10, // Current not within tolerance (80\pm 1A for FD) 00032 kDataGap = 0x20, // More than 15m gap. Manually set to warn user 00033 // could still be !kBad from logbook perusal 00034 // Note that <15m gaps happen a lot and get 00035 // handled automatically by the distiller 00036 kUnknown = 0x80 // No Clue. Useful if DB is empty 00037 } CoilStatus_t; 00038 00039 // no ctor or dtor's - this class consists of only static members 00040 00041 Int_t FullMask(); 00042 00043 Bool_t Good(CoilStatus_t coilstatus); 00044 00045 // Translation enum to character string 00046 00047 const Char_t* AsString(CoilStatus_t coilstatus); 00048 Char_t* MaskToString(Int_t mask); 00049 00050 } 00051 00052 #endif // COILSTATUS_H
1.3.9.1