00001 00013 #ifndef _NUCLEUS_H_ 00014 #define _NUCLEUS_H_ 00015 00016 #ifndef ROOT_Rtypes 00017 #if !defined(__CINT__) || defined(__MAKECINT__) 00018 #include "Rtypes.h" 00019 #endif 00020 #endif 00021 00022 typedef enum nucleus_enum { 00023 00024 e_free = 0, 00025 e_C12 = 274, 00026 e_O16 = 284, 00027 e_Fe56 = 372, 00028 e_Al27 = 304, 00029 e_undefined_nucleus 00030 00031 } nucleus_t; 00032 00033 namespace nucleus { 00034 00035 inline const char * as_string(nucleus_t nucleus) { 00036 switch(nucleus) { 00037 case e_free: return "Free nucleon"; break; 00038 case e_C12: return "Carbon"; break; 00039 case e_O16: return "Oxygen"; break; 00040 case e_Fe56: return "Iron"; break; 00041 case e_Al27: return "Aluminum"; break; 00042 00043 case e_undefined_nucleus: 00044 default: 00045 return "unknown nucleus"; break; 00046 } 00047 return "bad nucleus"; 00048 } 00049 00050 } 00051 00052 #endif 00053