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

init_state.h

Go to the documentation of this file.
00001 
00013 #ifndef _INIT_STATE_H_
00014 #define _INIT_STATE_H_
00015 
00016 #ifndef ROOT_Rtypes
00017 #if !defined(__CINT__) || defined(__MAKECINT__)
00018 #include "Rtypes.h"
00019 #endif
00020 #endif
00021 
00022 typedef enum init_state_enum {
00023 
00024   e_vp = 1,
00025   e_vn,
00026   e_vbp,
00027   e_vbn,
00028   e_vN,
00029   e_vbN,
00030   e_vA,
00031   e_vbA,
00032   e_undefined_init_state
00033 
00034 } init_state_t;
00035 
00036 namespace init_state {
00037 
00038      inline const char * as_string(init_state_t initial_state) 
00039      {
00040        switch(initial_state) {
00041          case e_vp:   return "v + p";       break;
00042          case e_vn:   return "v + n";       break;
00043          case e_vN:   return "v + N";       break;
00044          case e_vA:   return "v + A";       break;
00045          case e_vbp:  return "v_bar + p";   break;
00046          case e_vbn:  return "v_bar + n";   break;
00047          case e_vbN:  return "v_bar + N";   break;
00048          case e_vbA:  return "v_bar + A";   break;
00049 
00050          case e_undefined_init_state:
00051          default:            
00052                       return "unknown initial state"; break;
00053        }
00054        return "bad initial state";
00055      }
00056      
00057      inline init_state_t get_init_state_from_code(int code)
00058      {
00059         if      (code == 1) return e_vp;
00060         else if (code == 2) return e_vn;
00061         else if (code == 5) return e_vN;
00062         else if (code == 6) return e_vA;
00063         else if (code == 3) return e_vbp;
00064         else if (code == 4) return e_vbn;
00065         else if (code == 7) return e_vbN;
00066         else if (code == 8) return e_vbA;
00067         else                return e_undefined_init_state;
00068      }
00069 
00070 }
00071 
00072 #endif
00073 

Generated on Mon Feb 15 11:06:48 2010 for loon by  doxygen 1.3.9.1