00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00025 #ifndef ELEMENT_TYPES_H
00026 #define ELEMENT_TYPES_H
00027
00028 #include <cassert>
00029
00030 #include <string>
00031
00032
00033 namespace BTK {
00034
00035 const double WATER_RADIUS = 1.4;
00036
00037 namespace ELEMENT {
00038
00039 enum index_t {UNKNOWN=-1,C,H,N,O,P,S,Se,SIZE};
00040
00041 inline std::string name(index_t e){
00042 switch(e){
00043 case C: return "C";
00044 case H: return "H";
00045 case N: return "N";
00046 case O: return "O";
00047 case P: return "P";
00048 case S: return "S";
00049 case Se: return "Se";
00050 default: return "UNKNOWN";
00051 }
00052 }
00053
00054
00055 inline double sasa_radius(index_t e) {
00056 switch(e){
00057 case C: return WATER_RADIUS+1.8;
00058 case H: return WATER_RADIUS+1.42;
00059 case N: return WATER_RADIUS+1.65;
00060 case O: return WATER_RADIUS+1.4;
00061 case P: return WATER_RADIUS+1.85;
00062 case S: return WATER_RADIUS+1.85;
00063 default: assert(0); return 0;
00064 }
00065 }
00066 }
00067
00068 }
00069
00070
00071
00072 #endif