Mixed Data Coincidence Analysis Software 1.0
A program to analyze files produced by the EventMixer software.
ElementLookupTable.cc
Go to the documentation of this file.
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 }
 All Classes Files Functions Variables Defines

Back to the main page of the Precalibrated Ion Beam Identification Detector project

Created by Rikard Lundmark