![]() |
Mixed Data Coincidence Analysis Software 1.0
A program to analyze files produced by the EventMixer software.
|
00001 #include "ElementLookupTable.hh" 00002 00003 ElementLookupTable::ElementLookupTable() 00004 { 00005 myTable["H"]=1; 00006 myTable["HE"]=2; 00007 myTable["LI"]=3; 00008 myTable["BE"]=4; 00009 myTable["B"]=5; 00010 myTable["C"]=6; 00011 myTable["N"]=7; 00012 myTable["O"]=8; 00013 myTable["F"]=9; 00014 myTable["NE"]=10; 00015 myTable["NA"]=11; 00016 myTable["MG"]=12; 00017 myTable["AL"]=13; 00018 myTable["SI"]=14; 00019 myTable["P"]=15; 00020 myTable["S"]=16; 00021 myTable["CL"]=17; 00022 myTable["AR"]=18; 00023 myTable["K"]=19; 00024 myTable["CA"]=20; 00025 myTable["SC"]=21; 00026 myTable["TI"]=22; 00027 myTable["V"]=23; 00028 myTable["CR"]=24; 00029 myTable["MN"]=25; 00030 myTable["FE"]=26; 00031 myTable["CO"]=27; 00032 myTable["NI"]=28; 00033 myTable["CU"]=29; 00034 myTable["ZN"]=30; 00035 myTable["GA"]=31; 00036 myTable["GE"]=32; 00037 myTable["AS"]=33; 00038 myTable["SE"]=34; 00039 myTable["BR"]=35; 00040 myTable["KR"]=36; 00041 myTable["RB"]=37; 00042 myTable["SR"]=38; 00043 myTable["Y"]=39; 00044 myTable["ZR"]=40; 00045 myTable["NB"]=41; 00046 myTable["MO"]=42; 00047 myTable["TC"]=43; 00048 myTable["RU"]=44; 00049 myTable["RH"]=45; 00050 myTable["PD"]=46; 00051 myTable["AG"]=47; 00052 myTable["CD"]=48; 00053 myTable["IN"]=49; 00054 myTable["SN"]=50; 00055 myTable["SB"]=51; 00056 myTable["TE"]=52; 00057 myTable["I"]=53; 00058 myTable["XE"]=54; 00059 myTable["CS"]=55; 00060 myTable["BA"]=56; 00061 myTable["LA"]=57; 00062 myTable["CE"]=58; 00063 myTable["PR"]=59; 00064 myTable["ND"]=60; 00065 myTable["PM"]=61; 00066 myTable["SM"]=62; 00067 myTable["EU"]=63; 00068 myTable["GD"]=64; 00069 myTable["TB"]=65; 00070 myTable["DY"]=66; 00071 myTable["HO"]=67; 00072 myTable["ER"]=68; 00073 myTable["TM"]=69; 00074 myTable["YB"]=70; 00075 myTable["LU"]=71; 00076 myTable["HF"]=72; 00077 myTable["TA"]=73; 00078 myTable["W"]=74; 00079 myTable["RE"]=75; 00080 myTable["OS"]=76; 00081 myTable["IR"]=77; 00082 myTable["PT"]=78; 00083 myTable["AU"]=79; 00084 myTable["HG"]=80; 00085 myTable["TL"]=81; 00086 myTable["PB"]=82; 00087 myTable["BI"]=83; 00088 myTable["PO"]=84; 00089 myTable["AT"]=85; 00090 myTable["RN"]=86; 00091 myTable["FR"]=87; 00092 myTable["RA"]=88; 00093 myTable["AC"]=89; 00094 myTable["TH"]=90; 00095 myTable["PA"]=91; 00096 myTable["U"]=92; 00097 myTable["NP"]=93; 00098 myTable["PU"]=94; 00099 myTable["AM"]=95; 00100 myTable["CM"]=96; 00101 myTable["BK"]=97; 00102 myTable["CF"]=98; 00103 myTable["ES"]=99; 00104 myTable["FM"]=100; 00105 myTable["MD"]=101; 00106 myTable["NO"]=102; 00107 myTable["LR"]=103; 00108 myTable["RF"]=104; 00109 myTable["DB"]=105; 00110 myTable["SG"]=106; 00111 myTable["BH"]=107; 00112 myTable["HS"]=108; 00113 myTable["MT"]=109; 00114 myTable["DS"]=110; 00115 myTable["RG"]=111; 00116 myTable["CN"]=112; 00117 myTable["UUT"]=113; 00118 myTable["UUQ"]=114; 00119 myTable["UUP"]=115; 00120 myTable["UUH"]=116; 00121 myTable["UUS"]=117; 00122 myTable["UUO"]=118; 00123 for(map<string, unsigned short int>::iterator it = myTable.begin(); it!=myTable.end(); it++) 00124 { 00125 myReversedTable[it->second]=it->first; 00126 } 00127 } 00128 00129 //returns 0 if element is non-existent. 00130 unsigned short int ElementLookupTable::lookupElement(string elementToLookup) 00131 { 00132 stringToUpper(elementToLookup); 00133 if(myTable.find(elementToLookup)!=myTable.end()) 00134 return myTable[elementToLookup]; 00135 else 00136 return 0; 00137 } 00138 00139 string ElementLookupTable::lookupElement(unsigned short int elementToLookup) 00140 { 00141 if(myReversedTable.find(elementToLookup)!=myReversedTable.end()) 00142 return myReversedTable[elementToLookup]; 00143 else 00144 return ""; 00145 } 00146 00147 00148 void ElementLookupTable::stringToUpper(string& s) 00149 { 00150 std::string::iterator i = s.begin(); 00151 std::string::iterator end = s.end(); 00152 00153 while (i != end) { 00154 *i = std::toupper((unsigned char)*i); 00155 ++i; 00156 } 00157 }