ParticleName.cc

Go to the documentation of this file.
00001 // ----------------------------------------------------------------------
00002 //
00003 // ParticleName.cc
00004 // Author: Lynn Garren and Walter Brown
00005 //
00006 //  Create a map that gives a standard name for each pre-defined
00007 //  particle ID number.   Also create a map for the reverse lookup of
00008 //  the ID number from a string.  These maps are initialized if and only if
00009 //  the public functions are called. Because the maps are static,
00010 //  the initialization happens only once.
00011 //
00012 //  The user NEVER calls ParticleNameInit()
00013 //  We use a data table (struct Snames) so that compile time is not impacted.
00014 //
00015 //  public functions:
00016 //     ParticleIdMap const &  getParticleIdMap()
00017 //     std::string              ParticleName( const int pid )
00018 //     void                     listParticleNames( std::ostream & os  )
00019 //
00020 // ----------------------------------------------------------------------
00021 
00022 #include <string>
00023 #include <map>
00024 #include <iostream>
00025 #include <iomanip>  // width
00026 #include <utility>  // make_pair
00027 
00028 #include "Rivet/ParticleName.hh"
00029 //#include "HepPID/Version.hh"
00030 
00031 namespace Rivet {
00032   namespace PID {
00033 
00034 typedef  std::map< int, std::string >  ParticleIdMap;
00035 typedef  std::map< std::string, int >  ParticleLookupMap;
00036 
00037 ///
00038 /// \class ParticleNameMap
00039 /// \author Lynn Garren
00040 ///
00041 /// Used internally to store the static maps
00042 ///
00043 class ParticleNameMap {
00044 
00045 public:
00046 
00047    typedef ParticleIdMap::const_iterator      idIterator;
00048    typedef ParticleLookupMap::const_iterator nameIterator;
00049 
00050    ParticleNameMap(ParticleIdMap m1,ParticleLookupMap m2)
00051    : itsNameMap(m1), itsLookupMap(m2) {}
00052    ~ParticleNameMap() {}
00053 
00054    ParticleIdMap       nameMap()    const { return itsNameMap; }
00055    ParticleLookupMap lookupMap()  const { return itsLookupMap; }
00056    idIterator   begin()               const { return itsNameMap.begin(); }
00057    idIterator   end()                 const { return itsNameMap.end(); }
00058    idIterator   find( const int & id) const { return itsNameMap.find(id); }
00059    nameIterator beginLookupMap()      const { return itsLookupMap.begin(); }
00060    nameIterator endLookupMap()        const { return itsLookupMap.end(); }
00061    nameIterator findString( const std::string & s) const { return itsLookupMap.find(s); }
00062 
00063 private:
00064 
00065    ParticleIdMap       itsNameMap;
00066    ParticleLookupMap itsLookupMap;
00067 
00068    // copies are not allowed
00069    ParticleNameMap( const ParticleNameMap & );
00070    ParticleNameMap & operator = ( const ParticleNameMap & );
00071 
00072 };
00073 
00074 namespace { // ParticleNameInit and ParticleNameMap are private
00075 
00076 ParticleNameMap const &  ParticleNameInit()
00077 {
00078 
00079   ParticleIdMap  m;
00080   ParticleLookupMap nameMap;
00081 
00082   static const struct {
00083       int pid;
00084       const char* pname;
00085   } SNames[] = {
00086       {          0, "" },
00087       {          1, "d" },
00088       {         -1, "d~" },
00089       {          2, "u" },
00090       {         -2, "u~" },
00091       {          3, "s" },
00092       {         -3, "s~" },
00093       {          4, "c" },
00094       {         -4, "c~" },
00095       {          5, "b" },
00096       {         -5, "b~" },
00097       {          6, "t" },
00098       {         -6, "t~" },
00099       {          7, "b'" },
00100       {         -7, "b'~" },
00101       {          8, "t'" },
00102       {         -8, "t'~" },
00103       {         11, "e^-" },
00104       {        -11, "e^+" },
00105       {         12, "nu_e" },
00106       {        -12, "nu_e~" },
00107       {         13, "mu^-" },
00108       {        -13, "mu^+" },
00109       {         14, "nu_mu" },
00110       {        -14, "nu_mu~" },
00111       {         15, "tau^-" },
00112       {        -15, "tau^+" },
00113       {         16, "nu_tau" },
00114       {        -16, "nu_tau~" },
00115       {         17, "tau'^-" },
00116       {        -17, "tau'^+" },
00117       {         18, "nu_tau'" },
00118       {        -18, "nu_tau'~" },
00119       {         21, "g" },
00120       {         22, "gamma" },
00121       {      10022, "virtual-photon" },
00122       {      20022, "Cerenkov-radiation" },
00123       {         23, "Z^0" },
00124       {         24, "W^+" },
00125       {        -24, "W^-" },
00126       {         25, "H_1^0" },
00127       {         32, "Z_2^0" },
00128       {         33, "Z_3^0" },
00129       {         34, "W_2^+" },
00130       {        -34, "W_2^-" },
00131       {         35, "H_2^0" },
00132       {         36, "H_3^0" },
00133       {         37, "H^+" },
00134       {        -37, "H^-" },
00135       {         39, "G"  },
00136       {         41, "R^0" },
00137       {        -41, "R~^0" },
00138       {         42, "LQ_c" },
00139       {        -42, "LQ_c~" },
00140       {         51, "H_L^0" },
00141       {         52, "H_1^++" },
00142       {        -52, "H_1^--" },
00143       {         53, "H_2^+" },
00144       {        -53, "H_2^-" },
00145       {         54, "H_2^++" },
00146       {        -54, "H_2^--" },
00147       {         55, "H_4^0" },
00148       {        -55, "H_4~^0" },
00149       {         81, "generator-specific+81" },
00150       {         82, "generator-specific+82" },
00151       {         83, "generator-specific+83" },
00152       {         84, "generator-specific+84" },
00153       {         85, "generator-specific+85" },
00154       {         86, "generator-specific+86" },
00155       {         87, "generator-specific+87" },
00156       {         88, "generator-specific+88" },
00157       {         89, "generator-specific+89" },
00158       {         90, "generator-specific+90" },
00159       {         91, "generator-specific+91" },
00160       {         92, "generator-specific+92" },
00161       {         93, "generator-specific+93" },
00162       {         94, "generator-specific+94" },
00163       {         95, "generator-specific+95" },
00164       {         96, "generator-specific+96" },
00165       {         97, "generator-specific+97" },
00166       {         98, "generator-specific+98" },
00167       {         99, "generator-specific+99" },
00168       {        -81, "generator-specific-81" },
00169       {        -82, "generator-specific-82" },
00170       {        -83, "generator-specific-83" },
00171       {        -84, "generator-specific-84" },
00172       {        -85, "generator-specific-85" },
00173       {        -86, "generator-specific-86" },
00174       {        -87, "generator-specific-87" },
00175       {        -88, "generator-specific-88" },
00176       {        -89, "generator-specific-89" },
00177       {        -90, "generator-specific-90" },
00178       {        -91, "generator-specific-91" },
00179       {        -92, "generator-specific-92" },
00180       {        -93, "generator-specific-93" },
00181       {        -94, "generator-specific-94" },
00182       {        -95, "generator-specific-95" },
00183       {        -96, "generator-specific-96" },
00184       {        -97, "generator-specific-97" },
00185       {        -98, "generator-specific-98" },
00186       {        -99, "generator-specific-99" },
00187       {        100, "generator-specific+100" },
00188       {       -100, "generator-specific-100" },
00189       {        101, "geantino" },
00190       {        102, "charged-geantino" },
00191       {        110, "reggeon" },
00192       {        130, "K_L^0" },
00193       {        310, "K_S^0" },
00194       {        990, "pomeron" },
00195       {       9990, "odderon" },
00196       {    1000001, "susy-d_L" },
00197       {   -1000001, "susy-d_L~" },
00198       {    1000002, "susy-u_L" },
00199       {   -1000002, "susy-u_L~" },
00200       {    1000003, "susy-s_L" },
00201       {   -1000003, "susy-s_L~" },
00202       {    1000004, "susy-c_L" },
00203       {   -1000004, "susy-c_L~" },
00204       {    1000005, "susy-b_1" },
00205       {   -1000005, "susy-b_1~" },
00206       {    1000006, "susy-t_1" },
00207       {   -1000006, "susy-t_1~" },
00208       {    1000011, "susy-e_L^-" },
00209       {   -1000011, "susy-e_L^+" },
00210       {    1000012, "susy-nu_eL" },
00211       {   -1000012, "susy-nu_eL~" },
00212       {    1000013, "susy-mu_L^-" },
00213       {   -1000013, "susy-mu_L^+" },
00214       {    1000014, "susy-nu_muL" },
00215       {   -1000014, "susy-nu_muL~" },
00216       {    1000015, "susy-tau_L^-" },
00217       {   -1000015, "susy-tau_L^+" },
00218       {    1000016, "susy-nu_tauL" },
00219       {   -1000016, "susy-nu_tauL~" },
00220       {    1000021, "gluino" },
00221       {    1000022, "susy-chi_1^0" },
00222       {    1000023, "susy-chi_2^0" },
00223       {    1000024, "susy-chi_1^+" },
00224       {   -1000024, "susy-chi_1^-" },
00225       {    1000025, "susy-chi_3^0" },
00226       {    1000035, "susy-chi_4^0" },
00227       {    1000037, "susy-chi_2^+" },
00228       {   -1000037, "susy-chi_2^-" },
00229       {    1000039, "gravitino" },
00230       {    2000001, "susy-d_R" },
00231       {   -2000001, "susy-d_R~" },
00232       {    2000002, "susy-u_R" },
00233       {   -2000002, "susy-u_R~" },
00234       {    2000003, "susy-s_R" },
00235       {   -2000003, "susy-s_R~" },
00236       {    2000004, "susy-c_R" },
00237       {   -2000004, "susy-c_R~" },
00238       {    2000005, "susy-b_R" },
00239       {   -2000005, "susy-b_R~" },
00240       {    2000006, "susy-t_R" },
00241       {   -2000006, "susy-t_R~" },
00242       {    2000011, "susy-e_R^-" },
00243       {   -2000011, "susy-e_R^+" },
00244       {    2000012, "susy-nu_eR" },
00245       {   -2000012, "susy-nu_eR~" },
00246       {    2000013, "susy-mu_R^-" },
00247       {   -2000013, "susy-mu_R^+" },
00248       {    2000014, "susy-nu_muR" },
00249       {   -2000014, "susy-nu_muR~" },
00250       {    2000015, "susy-tau_R^-" },
00251       {   -2000015, "susy-tau_R^+" },
00252       {    2000016, "susy-nu_tauR" },
00253       {   -2000016, "susy-nu_tauR~" },
00254       {    3100021, "V8_tech" },
00255       {   -3100021, "V8_tech" },
00256       {    3000111, "pi_tech^0" },
00257       {    3060111, "pi_tech_22_1" },
00258       {    3160111, "pi_tech_22_8" },
00259       {    3000113, "rho_tech^0" },
00260       {    3130113, "rho_tech_11" },
00261       {    3140113, "rho_tech_12" },
00262       {    3150113, "rho_tech_21" },
00263       {    3160113, "rho_tech_22" },
00264       {    3000211, "pi_tech^+" },
00265       {   -3000211, "pi_tech^-" },
00266       {    3000213, "rho_tech^+" },
00267       {   -3000213, "rho_tech^-" },
00268       {    3000221, "pi'_tech" },
00269       {    3100221, "eta_tech" },
00270       {    3000223, "omega_tech" },
00271       {    4000001, "d*" },
00272       {   -4000001, "d*~" },
00273       {    4000002, "u*" },
00274       {   -4000002, "u*~" },
00275       {    4000011, "e*^-" },
00276       {   -4000011, "e*^+" },
00277       {    4000012, "nu*_e" },
00278       {   -4000012, "nu*_e~" },
00279       {    4000039, "G*" },
00280       {   -4000039, "G*~" },
00281       {    9900012, "nu_Re" },
00282       {   -9900012, "nu_Re~" },
00283       {    9900014, "nu_Rmu" },
00284       {   -9900014, "nu_Rmu~" },
00285       {    9900016, "nu_Rtau" },
00286       {   -9900016, "nu_Rtau~" },
00287       {    9900023, "Z_R^0" },
00288       {   -9900023, "Z_R~^0" },
00289       {    9900024, "W_R^+" },
00290       {   -9900024, "W_R^-" },
00291       {    9900041, "H_L^++" },
00292       {   -9900041, "H_L^--" },
00293       {    9900042, "H_R^++" },
00294       {   -9900042, "H_R^--" },
00295       {    9910113, "rho_diffr^0" },
00296       {    9910211, "pi_diffr^+" },
00297       {   -9910211, "pi_diffr^-" },
00298       {    9910223, "omega_diffr" },
00299       {    9910333, "phi_diffr" },
00300       {    9910443, "psi_diffr" },
00301       {    9912112, "n_diffr^0" },
00302       {   -9912112, "n_diffr~^0" },
00303       {    9912212, "p_diffr^+" },
00304       {   -9912212, "p_diffr~^-" },
00305       {    9920022, "remnant photon" },
00306       {    9922212, "remnant nucleon" },
00307       {   -9922212, "remnant nucleon~" },
00308       {    9900441, "cc~[1S08]" },
00309       {    9910441, "cc~[3P08]" },
00310       {    9900443, "cc~[3S18]" },
00311       {    9900551, "bb~[1S08]" },
00312       {    9910551, "bb~[3P08]" },
00313       {    9900553, "bb~[3S18]" },
00314       {       1103, "dd_1" },
00315       {      -1103, "dd_1~" },
00316       {       2101, "ud_0" },
00317       {      -2101, "ud_0~" },
00318       {       2103, "ud_1" },
00319       {      -2103, "ud_1~" },
00320       {       2203, "uu_1" },
00321       {      -2203, "uu_1~" },
00322       {       3101, "sd_0" },
00323       {      -3101, "sd_0~" },
00324       {       3103, "sd_1" },
00325       {      -3103, "sd_1~" },
00326       {       3201, "su_0" },
00327       {      -3201, "su_0~" },
00328       {       3203, "su_1" },
00329       {      -3203, "su_1~" },
00330       {       3303, "ss_1" },
00331       {      -3303, "ss_1~" },
00332       {       4101, "cd_0" },
00333       {      -4101, "cd_0~" },
00334       {       4103, "cd_1" },
00335       {      -4103, "cd_1~" },
00336       {       4201, "cu_0" },
00337       {      -4201, "cu_0~" },
00338       {       4203, "cu_1" },
00339       {      -4203, "cu_1~" },
00340       {       4301, "cs_0" },
00341       {      -4301, "cs_0~" },
00342       {       4303, "cs_1" },
00343       {      -4303, "cs_1~" },
00344       {       4403, "cc_1" },
00345       {      -4403, "cc_1~" },
00346       {       5101, "bd_0" },
00347       {      -5101, "bd_0~" },
00348       {       5103, "bd_1" },
00349       {      -5103, "bd_1~" },
00350       {       5201, "bu_0" },
00351       {      -5201, "bu_0~" },
00352       {       5203, "bu_1" },
00353       {      -5203, "bu_1~" },
00354       {       5301, "bs_0" },
00355       {      -5301, "bs_0~" },
00356       {       5303, "bs_1" },
00357       {      -5303, "bs_1~" },
00358       {       5401, "bc_0" },
00359       {      -5401, "bc_0~" },
00360       {       5403, "bc_1" },
00361       {      -5403, "bc_1~" },
00362       {       5503, "bb_1" },
00363       {      -5503, "bb_1~" },
00364       {       6101, "td_0" },
00365       {      -6101, "td_0~" },
00366       {       6103, "td_1" },
00367       {      -6103, "td_1~" },
00368       {       6201, "tu_0" },
00369       {      -6201, "tu_0~" },
00370       {       6203, "tu_1" },
00371       {      -6203, "tu_1~" },
00372       {       6301, "ts_0" },
00373       {      -6301, "ts_0~" },
00374       {       6303, "ts_1" },
00375       {      -6303, "ts_1~" },
00376       {       6401, "tc_0" },
00377       {      -6401, "tc_0~" },
00378       {       6403, "tc_1" },
00379       {      -6403, "tc_1~" },
00380       {       6501, "tb_0" },
00381       {      -6501, "tb_0~" },
00382       {       6503, "tb_1" },
00383       {      -6503, "tb_1~" },
00384       {       6603, "tt_1" },
00385       {      -6603, "tt_1~" },
00386       {       7101, "b'd_0" },
00387       {      -7101, "b'd_0~" },
00388       {       7103, "b'd_1" },
00389       {      -7103, "b'd_1~" },
00390       {       7201, "b'u_0" },
00391       {      -7201, "b'u_0~" },
00392       {       7203, "b'u_1" },
00393       {      -7203, "b'u_1~" },
00394       {       7301, "b's_0" },
00395       {      -7301, "b's_0~" },
00396       {       7303, "b's_1" },
00397       {      -7303, "b's_1~" },
00398       {       7401, "b'c_0" },
00399       {      -7401, "b'c_0~" },
00400       {       7403, "b'c_1" },
00401       {      -7403, "b'c_1~" },
00402       {       7501, "b'b_0" },
00403       {      -7501, "b'b_0~" },
00404       {       7503, "b'b_1" },
00405       {      -7503, "b'b_1~" },
00406       {       7601, "b't_0" },
00407       {      -7601, "b't_0~" },
00408       {       7603, "b't_1" },
00409       {      -7603, "b't_1~" },
00410       {       7703, "b'b'_1" },
00411       {      -7703, "b'b'_1~" },
00412       {       8101, "t'd_0" },
00413       {      -8101, "t'd_0~" },
00414       {       8103, "t'd_1" },
00415       {      -8103, "t'd_1~" },
00416       {       8201, "t'u_0" },
00417       {      -8201, "t'u_0~" },
00418       {       8203, "t'u_1" },
00419       {      -8203, "t'u_1~" },
00420       {       8301, "t's_0" },
00421       {      -8301, "t's_0~" },
00422       {       8303, "t's_1" },
00423       {      -8303, "t's_1~" },
00424       {       8401, "t'c_0" },
00425       {      -8401, "t'c_0~" },
00426       {       8403, "t'c_1" },
00427       {      -8403, "t'c_1~" },
00428       {       8501, "t'b_0" },
00429       {      -8501, "t'b_0~" },
00430       {       8503, "t'b_1" },
00431       {      -8503, "t'b_1~" },
00432       {       8601, "t't_0" },
00433       {      -8601, "t't_0~" },
00434       {       8603, "t't_1" },
00435       {      -8603, "t't_1~" },
00436       {       8701, "t'b'_0" },
00437       {      -8701, "t'b'_0~" },
00438       {       8703, "t'b'_1" },
00439       {      -8703, "t'b'_1~" },
00440       {       8803, "t't'_1" },
00441       {      -8803, "t't'_1~" },
00442       {        111, "pi^0" },
00443       {    9000111, "a_0(980)^0" },
00444       {      10111, "a_0(1450)^0" },
00445       {     100111, "pi(1300)^0" },
00446       {    9010111, "pi(1800)^0" },
00447       {        113, "rho(770)^0" },
00448       {      10113, "b_1(1235)^0" },
00449       {      20113, "a_1(1260)^0" },
00450       {    9000113, "pi_1(1400)^0" },
00451       {     100113, "rho(1450)^0" },
00452       {    9010113, "pi_1(1600)^0" },
00453       {    9020113, "a_1(1640)^0" },
00454       {      30113, "rho(1700)^0" },
00455       {    9030113, "rho(1900)^0" },
00456       {    9040113, "rho(2150)^0" },
00457       {        115, "a_2(1320)^0" },
00458       {      10115, "pi_2(1670)^0" },
00459       {    9000115, "a_2(1700)^0" },
00460       {    9010115, "pi_2(2100)^0" },
00461       {        117, "rho_3(1690)^0" },
00462       {    9000117, "rho_3(1990)^0" },
00463       {    9010117, "rho_3(2250)^0" },
00464       {        119, "a_4(2040)^0" },
00465       {        211, "pi^+" },
00466       {       -211, "pi^-" },
00467       {    9000211, "a_0(980)^+" },
00468       {   -9000211, "a_0(980)^-" },
00469       {      10211, "a_0(1450)^+" },
00470       {     -10211, "a_0(1450)^-" },
00471       {     100211, "pi(1300)^+" },
00472       {    -100211, "pi(1300)^-" },
00473       {    9010211, "pi(1800)^+" },
00474       {   -9010211, "pi(1800)^-" },
00475       {        213, "rho(770)^+" },
00476       {       -213, "rho(770)^-" },
00477       {      10213, "b_1(1235)^+" },
00478       {     -10213, "b_1(1235)^-" },
00479       {      20213, "a_1(1260)^+" },
00480       {     -20213, "a_1(1260)^-" },
00481       {    9000213, "pi_1(1400)^+" },
00482       {   -9000213, "pi_1(1400)^-" },
00483       {     100213, "rho(1450)^+" },
00484       {    -100213, "rho(1450)^-" },
00485       {    9010213, "pi_1(1600)^+" },
00486       {   -9010213, "pi_1(1600)^-" },
00487       {    9020213, "a_1(1640)^+" },
00488       {   -9020213, "a_1(1640)^-" },
00489       {      30213, "rho(1700)^+" },
00490       {     -30213, "rho(1700)^-" },
00491       {    9030213, "rho(1900)^+" },
00492       {   -9030213, "rho(1900)^-" },
00493       {    9040213, "rho(2150)^+" },
00494       {   -9040213, "rho(2150)^-" },
00495       {        215, "a_2(1320)^+" },
00496       {       -215, "a_2(1320)^-" },
00497       {      10215, "pi_2(1670)^+" },
00498       {     -10215, "pi_2(1670)^-" },
00499       {    9000215, "a_2(1700)^+" },
00500       {   -9000215, "a_2(1700)^-" },
00501       {    9010215, "pi_2(2100)^+" },
00502       {   -9010215, "pi_2(2100)^-" },
00503       {        217, "rho_3(1690)^+" },
00504       {       -217, "rho_3(1690)^-" },
00505       {    9000217, "rho_3(1990)^+" },
00506       {   -9000217, "rho_3(1990)^-" },
00507       {    9010217, "rho_3(2250)^+" },
00508       {   -9010217, "rho_3(2250)^-" },
00509       {        219, "a_4(2040)^+" },
00510       {       -219, "a_4(2040)^-" },
00511       {        221, "eta" },
00512       {    9000221, "f_0(600)" },
00513       {      10221, "f_0(1370)" },
00514       {    9010221, "f_0(980)" },
00515       {    9020221, "eta(1405)" },
00516       {    9030221, "f_0(1500)" },
00517       {    9040221, "eta(1760)" },
00518       {    9050221, "f_0(2020)" },
00519       {    9060221, "f_0(2100)" },
00520       {    9070221, "f_0(2200)" },
00521       {    9080221, "eta(2225)" },
00522       {     100221, "eta(1295)" },
00523       {        331, "eta'(958)" },
00524       {      10331, "f_0(1710)" },
00525       {     100331, "eta(1475)" },
00526       {        223, "omega(782)" },
00527       {    9000223, "f_1(1510)" },
00528       {    9010223, "h_1(1595)" },
00529       {      10223, "h_1(1170)" },
00530       {      20223, "f_1(1285)" },
00531       {      30223, "omega(1650)" },
00532       {     100223, "omega(1420)" },
00533       {        333, "phi(1020)" },
00534       {      10333, "h_1(1380)" },
00535       {      20333, "f_1(1420)" },
00536       {     100333, "phi(1680)" },
00537       {        225, "f_2(1270)" },
00538       {    9000225, "f_2(1430)" },
00539       {      10225, "eta_2(1645)" },
00540       {    9010225, "f_2(1565)" },
00541       {    9020225, "f_2(1640)" },
00542       {    9030225, "f_2(1810)" },
00543       {    9040225, "f_2(1910)" },
00544       {    9050225, "f_2(1950)" },
00545       {    9060225, "f_2(2010)" },
00546       {    9070225, "f_2(2150)" },
00547       {    9080225, "f_2(2300)" },
00548       {    9090225, "f_2(2340)" },
00549       {        335, "f'_2(1525)" },
00550       {      10335, "eta_2(1870)" },
00551       {        227, "omega_3(1670)" },
00552       {        337, "phi_3(1850)" },
00553       {        229, "f_4(2050)" },
00554       {    9000229, "f_J(2220)" },
00555       {    9010229, "f_4(2300)" },
00556       {        311, "K^0" },
00557       {       -311, "K~^0" },
00558       {    9000311, "K*_0(800)^0" },
00559       {   -9000311, "K*_0(800)~^0" },
00560       {      10311, "K*_0(1430)^0" },
00561       {     -10311, "K*_0(1430)~^0" },
00562       {     100311, "K(1460)^0" },
00563       {    -100311, "K(1460)~^0" },
00564       {    9010311, "K(1830)^0" },
00565       {   -9010311, "K(1830)~^0" },
00566       {    9020311, "K*_0(1950)^0" },
00567       {   -9020311, "K*_0(1950)~^0" },
00568       {        321, "K^+" },
00569       {       -321, "K^-" },
00570       {    9000321, "K*_0(800)^+" },
00571       {   -9000321, "K*_0(800)^-" },
00572       {      10321, "K*_0(1430)^+" },
00573       {     -10321, "K*_0(1430)^-" },
00574       {     100321, "K(1460)^+" },
00575       {    -100321, "K(1460)^-" },
00576       {    9010321, "K(1830)^+" },
00577       {   -9010321, "K(1830)^-" },
00578       {    9020321, "K*_0(1950)^+" },
00579       {   -9020321, "K*_0(1950)^-" },
00580       {        313, "K*(892)^0" },
00581       {       -313, "K*(892)~^0" },
00582       {      10313, "K_1(1270)^0" },
00583       {     -10313, "K_1(1270)~^0" },
00584       {      20313, "K_1(1400)^0" },
00585       {     -20313, "K_1(1400)~^0" },
00586       {      30313, "K*(1680)^0" },
00587       {     -30313, "K*(1680)~^0" },
00588       {     100313, "K*(1410)^0" },
00589       {    -100313, "K*(1410)~^0" },
00590       {    9000313, "K_1(1650)^0" },
00591       {   -9000313, "K_1(1650)~^0" },
00592       {        323, "K*(892)^+" },
00593       {       -323, "K*(892)^-" },
00594       {      10323, "K_1(1270)^+" },
00595       {     -10323, "K_1(1270)^-" },
00596       {      20323, "K_1(1400)^+" },
00597       {     -20323, "K_1(1400)^-" },
00598       {      30323, "K*(1680)^+" },
00599       {     -30323, "K*(1680)^-" },
00600       {     100323, "K*(1410)^+" },
00601       {    -100323, "K*(1410)^-" },
00602       {    9000323, "K_1(1650)^+" },
00603       {   -9000323, "K_1(1650)^-" },
00604       {        315, "K*_2(1430)^0" },
00605       {       -315, "K*_2(1430)~^0" },
00606       {    9000315, "K_2(1580)^0" },
00607       {   -9000315, "K_2(1580)~^0" },
00608       {      10315, "K_2(1770)^0" },
00609       {     -10315, "K_2(1770)~^0" },
00610       {    9010315, "K*_2(1980)^0" },
00611       {   -9010315, "K*_2(1980)~^0" },
00612       {    9020315, "K_2(2250)^0" },
00613       {   -9020315, "K_2(2250)~^0" },
00614       {      20315, "K_2(1820)^0" },
00615       {     -20315, "K_2(1820)~^0" },
00616       {        325, "K*_2(1430)^+" },
00617       {       -325, "K*_2(1430)^-" },
00618       {    9000325, "K_2(1580)^+" },
00619       {   -9000325, "K_2(1580)^-" },
00620       {      10325, "K_2(1770)^+" },
00621       {     -10325, "K_2(1770)^-" },
00622       {    9010325, "K*_2(1980)^+" },
00623       {   -9010325, "K*_2(1980)^-" },
00624       {    9020325, "K_2(2250)^+" },
00625       {   -9020325, "K_2(2250)^-" },
00626       {      20325, "K_2(1820)^+" },
00627       {     -20325, "K_2(1820)^-" },
00628       {     100325, "K_2(1980)^+" },
00629       {    -100325, "K_2(1980)^-" },
00630       {        317, "K*_3(1780)^0" },
00631       {       -317, "K*_3(1780)~^0" },
00632       {    9010317, "K_3(2320)^0" },
00633       {   -9010317, "K_3(2320)~^0" },
00634       {        327, "K*_3(1780)^+" },
00635       {       -327, "K*_3(1780)^-" },
00636       {    9010327, "K_3(2320)^+" },
00637       {   -9010327, "K_3(2320)^-" },
00638       {        319, "K*_4(2045)^0" },
00639       {       -319, "K*_4(2045)~^0" },
00640       {    9000319, "K_4(2500)^0" },
00641       {   -9000319, "K_4(2500)~^0" },
00642       {        329, "K*_4(2045)^+" },
00643       {       -329, "K*_4(2045)^-" },
00644       {    9000329, "K_4(2500)^+" },
00645       {   -9000329, "K_4(2500)^-" },
00646       {        411, "D^+" },
00647       {       -411, "D^-" },
00648       {      10411, "D*_0(2400)^+" },
00649       {     -10411, "D*_0(2400)^-" },
00650       {     100411, "D(2S)^+" },
00651       {    -100411, "D(2S)^-" },
00652       {        413, "D*(2010)^+" },
00653       {       -413, "D*(2010)^-" },
00654       {      10413, "D_1(2420)^+" },
00655       {     -10413, "D_1(2420)^-" },
00656       {      20413, "D_1(H)^+" },
00657       {     -20413, "D_1(H)^-" },
00658       {     100413, "D*(2S)^+" },
00659       {    -100413, "D*(2S)^+" },
00660       {        415, "D*_2(2460)^+" },
00661       {       -415, "D*_2(2460)^-" },
00662       {        421, "D^0" },
00663       {       -421, "D~^0" },
00664       {      10421, "D*_0(2400)^0" },
00665       {     -10421, "D*_0(2400)~^0" },
00666       {     100421, "D(2S)^0" },
00667       {    -100421, "D(2S)~^0" },
00668       {        423, "D*(2007)^0" },
00669       {       -423, "D*(2007)~^0" },
00670       {      10423, "D_1(2420)^0" },
00671       {     -10423, "D_1(2420)~^0" },
00672       {      20423, "D_1(2430)^0" },
00673       {     -20423, "D_1(2430)~^0" },
00674       {     100423, "D*(2S)^0" },
00675       {    -100423, "D*(2S)~^0" },
00676       {        425, "D*_2(2460)^0" },
00677       {       -425, "D*_2(2460)~^0" },
00678       {        431, "D_s^+" },
00679       {       -431, "D_s^-" },
00680       {      10431, "D*_s0(2317)^+" },
00681       {     -10431, "D*_s0(2317)^-" },
00682       {        433, "D*_s^+" },
00683       {       -433, "D*_s^-" },
00684       {      10433, "D_s1(2536)^+" },
00685       {     -10433, "D_s1(2536)^-" },
00686       {      20433, "D_s1(2460)^+" },
00687       {     -20433, "D_s1(2460)^-" },
00688       {        435, "D*_s2(2573)^+" },
00689       {       -435, "D*_s2(2573)^-" },
00690       {        441, "eta_c(1S)" },
00691       {      10441, "chi_c0(1P)" },
00692       {     100441, "eta_c(2S)" },
00693       {        443, "J/psi(1S)" },
00694       {    9000443, "psi(4040)" },
00695       {      10443, "hc(1P)" },
00696       {    9010443, "psi(4160)" },
00697       {      20443, "chi_c1(1P)" },
00698       {    9020443, "psi(4415)" },
00699       {      30443, "psi(3770)" },
00700       {     100443, "psi(2S)" },
00701       {        445, "chi_c2(1P)" },
00702       {     100445, "chi_c2(2P)" },
00703       {        511, "B^0" },
00704       {       -511, "B~^0" },
00705       {      10511, "B*_0^0" },
00706       {     -10511, "B*_0~^0" },
00707       {        513, "B*^0" },
00708       {       -513, "B*~^0" },
00709       {      10513, "B_1(L)^0" },
00710       {     -10513, "B_1(L)~^0" },
00711       {      20513, "B_1(H)^0" },
00712       {     -20513, "B_1(H)~^0" },
00713       {        515, "B*_2^0" },
00714       {       -515, "B*_2~^0" },
00715       {        521, "B^+" },
00716       {       -521, "B^-" },
00717       {      10521, "B*_0^+" },
00718       {     -10521, "B*_0^-" },
00719       {        523, "B*^+" },
00720       {       -523, "B*^-" },
00721       {      10523, "B_1(L)^+" },
00722       {     -10523, "B_1(L)^-" },
00723       {      20523, "B_1(H)^+" },
00724       {     -20523, "B_1(H)^-" },
00725       {        525, "B*_2^+" },
00726       {       -525, "B*_2^-" },
00727       {        531, "B_s^0" },
00728       {       -531, "B_s~^0" },
00729       {      10531, "B*_s0^0" },
00730       {     -10531, "B*_s0~^0" },
00731       {        533, "B*_s^0" },
00732       {       -533, "B*_s~^0" },
00733       {      10533, "B_s1(L)^0" },
00734       {     -10533, "B_s1(L)~^0" },
00735       {      20533, "B_s1(H)^0" },
00736       {     -20533, "B_s1(H)~^0" },
00737       {        535, "B*_s2^0" },
00738       {       -535, "B*_s2~^0" },
00739       {        541, "B_c^+" },
00740       {       -541, "B_c^-" },
00741       {      10541, "B*_c0^+" },
00742       {     -10541, "B*_c0^-" },
00743       {        543, "B*_c^+" },
00744       {       -543, "B*_c^-" },
00745       {      10543, "B_c1(L)^+" },
00746       {     -10543, "B_c1(L)^-" },
00747       {      20543, "B_c1(H)^+" },
00748       {     -20543, "B_c1(H)^-" },
00749       {        545, "B*_c2^+" },
00750       {       -545, "B*_c2^-" },
00751       {        551, "eta_b(1S)" },
00752       {      10551, "chi_b0(1P)" },
00753       {     100551, "eta_b(2S)" },
00754       {     110551, "chi_b0(2P)" },
00755       {     200551, "eta_b(3S)" },
00756       {     210551, "chi_b0(3P)" },
00757       {        553, "Upsilon(1S)" },
00758       {    9000553, "Upsilon(10860)" },
00759       {      10553, "h_b(1P)" },
00760       {    9010553, "Upsilon(11020)" },
00761       {      20553, "chi_b1(1P)" },
00762       {    9020553, "Upsilon(7S)" },
00763       {      30553, "Upsilon_1(1D)" },
00764       {     100553, "Upsilon(2S)" },
00765       {     110553, "h_b(2P)" },
00766       {     120553, "chi_b1(2P)" },
00767       {     130553, "Upsilon_1(2D)" },
00768       {     200553, "Upsilon(3S)" },
00769       {     210553, "h_b(3P)" },
00770       {     220553, "chi_b1(3P)" },
00771       {     300553, "Upsilon(4S)" },
00772       {        555, "chi_b2(1P)" },
00773       {      10555, "eta_b2(1D)" },
00774       {      20555, "Upsilon_2(1D)" },
00775       {     100555, "chi_b2(2P)" },
00776       {     110555, "eta_b2(2D)" },
00777       {     120555, "Upsilon_2(2D)" },
00778       {     200555, "chi_b2(3P)" },
00779       {        557, "Upsilon_3(1D)" },
00780       {     100557, "Upsilon_3(2D)" },
00781       {        611, "T^+" },
00782       {       -611, "T^-" },
00783       {        613, "T*^+" },
00784       {       -613, "T*^-" },
00785       {        621, "T^0" },
00786       {       -621, "T~^0" },
00787       {        623, "T*^0" },
00788       {       -623, "T*~^0" },
00789       {        631, "T_s^+" },
00790       {       -631, "T_s^-" },
00791       {        633, "T*_s^+" },
00792       {       -633, "T*_s^-" },
00793       {        641, "T_c^0" },
00794       {       -641, "T_c~^0" },
00795       {        643, "T*_c^0" },
00796       {       -643, "T*_c~^0" },
00797       {        651, "T_b^+" },
00798       {       -651, "T_b^-" },
00799       {        653, "T*_b^+" },
00800       {       -653, "T*_b^-" },
00801       {        661, "eta_t" },
00802       {        663, "theta" },
00803       {        711, "L^0" },
00804       {       -711, "L~^0" },
00805       {        713, "L*^0" },
00806       {       -713, "L*~^0" },
00807       {        721, "L^-" },
00808       {       -721, "L^+" },
00809       {        723, "L*^-" },
00810       {       -723, "L*^+" },
00811       {        731, "L_s^0" },
00812       {       -731, "L_s~^0" },
00813       {        733, "L*_s^0" },
00814       {       -733, "L*_s~^0" },
00815       {        741, "L_c^-" },
00816       {       -741, "L_c^+" },
00817       {        743, "L*_c^-" },
00818       {       -743, "L*_c^+" },
00819       {        751, "L_b^0" },
00820       {       -751, "L_b~^0" },
00821       {        753, "L*_b^0" },
00822       {       -753, "L*_b~^0" },
00823       {        761, "L_t^-" },
00824       {       -761, "L_t^+" },
00825       {        763, "L*_t^-" },
00826       {       -763, "L*_t^+" },
00827       {        771, "eta_l" },
00828       {        773, "theta_l" },
00829       {        811, "H^+" },
00830       {       -811, "H^-" },
00831       {        813, "H*^+" },
00832       {       -813, "H*^-" },
00833       {        821, "H^0" },
00834       {       -821, "H~^0" },
00835       {        823, "H*^0" },
00836       {       -823, "H*~^0" },
00837       {        831, "H_s^+" },
00838       {       -831, "H_s^-" },
00839       {        833, "H*_s^+" },
00840       {       -833, "H*_s^-" },
00841       {        841, "H_c^0" },
00842       {       -841, "H_c~^0" },
00843       {        843, "H*_c^0" },
00844       {       -843, "H*_c~^0" },
00845       {        851, "H_b^+" },
00846       {       -851, "H_b^-" },
00847       {        853, "H*_b^+" },
00848       {       -853, "H*_b^-" },
00849       {        861, "H_t^0" },
00850       {       -861, "H_t~^0" },
00851       {        863, "H*_t^0" },
00852       {       -863, "H*_t~^0" },
00853       {        871, "H_l^+" },
00854       {       -871, "H_l^-" },
00855       {        873, "H*_l^+" },
00856       {       -873, "H*_l^-" },
00857       {        881, "eta_h" },
00858       {        883, "theta_H" },
00859       {       2112, "n^0" },
00860       {      -2112, "n~^0" },
00861       {       2212, "p^+" },
00862       {      -2212, "p~^-" },
00863     {        12212,        "N(1440)^+"},
00864     {        12112,        "N(1440)^0"},
00865     {        22212,        "N(1535)^+"},
00866     {        22112,        "N(1535)^0"},
00867     {        32212,        "N(1650)^+"},
00868     {        32112,        "N(1650)^0"},
00869     {        42212,        "N(1710)^+"},
00870     {        42112,        "N(1710)^0"},
00871     {         1214,         "N(1520)^0"},
00872     {         2124,         "N(1520)^+"},
00873     {        21214,        "N(1700)^0"},
00874     {        22124,        "N(1700)^+"},
00875     {        31214,        "N(1720)^0"},
00876     {        32124,        "N(1720)^+"},
00877     {         2116,         "N(1675)^0"},
00878     {         2216,         "N(1675)^+"},
00879     {        12116,        "N(1680)^0"},
00880     {        12216,        "N(1680)^+"},
00881     {         1218,         "N(2190)^0"},
00882     {         2128,        "N(2190)^+" },
00883       {       1114, "Delta^-" },
00884       {      -1114, "Delta~^+" },
00885       {       2114, "Delta^0" },
00886       {      -2114, "Delta~^0" },
00887       {       2214, "Delta^+" },
00888       {      -2214, "Delta~^-" },
00889       {       2224, "Delta^++" },
00890       {      -2224, "Delta~^--" },
00891     {        31114,   "Delta(1600)^-"      },
00892     {        32114,   "Delta(1600)^0"      },
00893     {        32214,    "Delta(1600)^+"     },
00894     {        32224,     "Delta(1600)^++"    },
00895     {         1112,    "Delta(1620)^-"     },
00896     {         1212,    "Delta(1620)^0"     },
00897     {         2122,    "Delta(1620)^+"     },
00898     {         2222,     "Delta(1620)^++"    },
00899     {        11114,     "Delta(1700)^-"    },
00900     {        12114,     "Delta(1700)^0"    },
00901     {        12214,     "Delta(1700)^+"    },
00902     {        12224,      "Delta(1700)^++"   },
00903     {         1116,     "Delta(1905)^-"    },
00904     {         1216,     "Delta(1905)^0"    },
00905     {         2126,     "Delta(1905)^+"    },
00906     {         2226,      "Delta(1905)^++"   },
00907     {        21112,    "Delta(1910)^-"    },
00908     {        21212,     "Delta(1910)^0"   },
00909     {        22122,     "Delta(1910)^+"   },
00910     {        22222,     "Delta(1910)^++"   },
00911     {        21114,    "Delta(1920)^-"    },
00912     {        22114,     "Delta(1920)^0"   },
00913     {        22214,     "Delta(1920)^+"   },
00914     {        22224,    "Delta(1920)^++"    },
00915     {        11116,    "Delta(1930)^-"    },
00916     {        11216,     "Delta(1930)^0"   },
00917     {        12126,     "Delta(1930)^+"   },
00918     {        12226,     "Delta(1930)^++"   },
00919     {         1118,     "Delta(1950)^-"    },
00920     {         2118,      "Delta(1950)^0"   },
00921     {         2218,      "Delta(1950)^+"   },
00922     {         2228,     "Delta(1950)^++"    },
00923       {       3122, "Lambda^0" },
00924       {      -3122, "Lambda~^0" },
00925       {      13122, "Lambda(1405)^0" },
00926       {     -13122, "Lambda~(1405)^0" },
00927       {      23122, "Lambda(1600)^0" },
00928       {     -23122, "Lambda~(1600)^0" },
00929       {      33122, "Lambda(1670)^0" },
00930       {     -33122, "Lambda~(1670)^0" },
00931       {      43122, "Lambda(1800)^0" },
00932       {     -43122, "Lambda~(1800)^0" },
00933       {      53122, "Lambda(1810)^0" },
00934       {     -53122, "Lambda~(1810)^0" },
00935       {       3124, "Lambda(1520)^0" },
00936       {      -3124, "Lambda~(1520)^0" },
00937       {      13124, "Lambda(1690)^0" },
00938       {     -13124, "Lambda~(1690)^0" },
00939       {      23124, "Lambda(1890)^0" },
00940       {     -23124, "Lambda~(1890)^0" },
00941       {       3126, "Lambda(1820)^0" },
00942       {      -3126, "Lambda~(1820)^0" },
00943       {      13126, "Lambda(1830)^0" },
00944       {     -13126, "Lambda~(1830)^0" },
00945       {      23126, "Lambda(2110)^0" },
00946       {     -23126, "Lambda~(2110)^0" },
00947       {       3128, "Lambda(2100)^0" },
00948       {      -3128, "Lambda~(2100)^0" },
00949       {       3112, "Sigma^-" },
00950       {      -3112, "Sigma~^+" },
00951       {       3212, "Sigma^0" },
00952       {      -3212, "Sigma~^0" },
00953       {       3222, "Sigma^+" },
00954       {      -3222, "Sigma~^-" },
00955       {      13222, "Sigma(1660)^+" },
00956       {     -13222, "Sigma~(1660)^+" },
00957       {      13212, "Sigma(1660)^0" },
00958       {     -13212, "Sigma~(1660)^0" },
00959       {      13112, "Sigma(1660)^-" },
00960       {     -13112, "Sigma~(1660)^-" },
00961       {      23112, "Sigma(1750)^-" },
00962       {     -23112, "Sigma~(1750)^-" },
00963       {      23212, "Sigma(1750)^0" },
00964       {     -23212, "Sigma~(1750)^0" },
00965       {      23222, "Sigma(1750)^+" },
00966       {     -23222, "Sigma~(1750)^+" },
00967       {       3114, "Sigma*^-" },
00968       {      -3114, "Sigma*~^+" },
00969       {       3214, "Sigma*^0" },
00970       {      -3214, "Sigma*~^0" },
00971       {       3224, "Sigma*^+" },
00972       {      -3224, "Sigma*~^-" },
00973       {      13224, "Sigma(1670)^+" },
00974       {     -13224, "Sigma~(1670)^+" },
00975       {      13214, "Sigma(1670)^0" },
00976       {     -13214, "Sigma~(1670)^0" },
00977       {      13114, "Sigma(1670)^-" },
00978       {     -13114, "Sigma~(1670)^-" },
00979       {      23224, "Sigma(1940)^+" },
00980       {     -23224, "Sigma~(1940)^+" },
00981       {      23214, "Sigma(1940)^0" },
00982       {     -23214, "Sigma~(1940)^0" },
00983       {      23114, "Sigma(1940)^-" },
00984       {     -23114, "Sigma~(1940)^-" },
00985       {       3226, "Sigma(1775)^+" },
00986       {      -3226, "Sigma~(1775)^+" },
00987       {       3216, "Sigma(1775)^0" },
00988       {      -3216, "Sigma~(1775)^0" },
00989       {       3116, "Sigma(1775)^-" },
00990       {      -3116, "Sigma~(1775)^-" },
00991       {      13226, "Sigma(1915)^+" },
00992       {     -13226, "Sigma~(1915)^+" },
00993       {      13216, "Sigma(1915)^0" },
00994       {     -13216, "Sigma~(1915)^0" },
00995       {      13116, "Sigma(1915)^-" },
00996       {     -13116, "Sigma~(1915)^-" },
00997       {       3228, "Sigma(2030)^+" },
00998       {      -3228, "Sigma~(2030)^+" },
00999       {       3218, "Sigma(2030)^0" },
01000       {      -3218, "Sigma~(2030)^0" },
01001       {       3118, "Sigma(2030)^-" },
01002       {      -3118, "Sigma~(2030)^-" },
01003       {       3312, "Xi^-" },
01004       {      -3312, "Xi~^+" },
01005       {       3322, "Xi^0" },
01006       {      -3322, "Xi~^0" },
01007       {       3314, "Xi*^-" },
01008       {      -3314, "Xi*~^+" },
01009       {       3324, "Xi*^0" },
01010       {      -3324, "Xi*~^0" },
01011       {      13314, "Xi(1820)^-" },
01012       {     -13314, "Xi(1820)~^+" },
01013       {      13324, "Xi(1820)^0" },
01014       {     -13324, "Xi(1820)~^0" },
01015       {       3334, "Omega^-" },
01016       {      -3334, "Omega~^+" },
01017       {       4112, "Sigma_c^0" },
01018       {      -4112, "Sigma_c~^0" },
01019       {       4114, "Sigma*_c^0" },
01020       {      -4114, "Sigma*_c~^0" },
01021       {       4122, "Lambda_c^+" },
01022       {      -4122, "Lambda_c~^-" },
01023       {      14122, "Lambda_c(2593)^+" },
01024       {     -14122, "Lambda_c~(2593)^-" },
01025       {      14124, "Lambda_c(2625)^+" },
01026       {     -14124, "Lambda_c~(2625)^-" },
01027       {       4132, "Xi_c^0" },
01028       {      -4132, "Xi_c~^0" },
01029       {       4212, "Sigma_c^+" },
01030       {      -4212, "Sigma_c~^-" },
01031       {       4214, "Sigma*_c^+" },
01032       {      -4214, "Sigma*_c~^-" },
01033       {       4222, "Sigma_c^++" },
01034       {      -4222, "Sigma_c~^--" },
01035       {       4224, "Sigma*_c^++" },
01036       {      -4224, "Sigma*_c~^--" },
01037       {       4232, "Xi_c^+" },
01038       {      -4232, "Xi_c~^-" },
01039       {       4312, "Xi'_c^0" },
01040       {      -4312, "Xi'_c~^0" },
01041       {       4314, "Xi*_c^0" },
01042       {      -4314, "Xi*_c~^0" },
01043       {       4322, "Xi'_c^+" },
01044       {      -4322, "Xi'_c~^-" },
01045       {       4324, "Xi*_c^+" },
01046       {      -4324, "Xi*_c~^-" },
01047       {       4332, "Omega_c^0" },
01048       {      -4332, "Omega_c~^0" },
01049       {       4334, "Omega*_c^0" },
01050       {      -4334, "Omega*_c~^0" },
01051       {       4412, "Xi_cc^+" },
01052       {      -4412, "Xi_cc~^-" },
01053       {       4414, "Xi*_cc^+" },
01054       {      -4414, "Xi*_cc~^-" },
01055       {       4422, "Xi_cc^++" },
01056       {      -4422, "Xi_cc~^--" },
01057       {       4424, "Xi*_cc^++" },
01058       {      -4424, "Xi*_cc~^--" },
01059       {       4432, "Omega_cc^+" },
01060       {      -4432, "Omega_cc~^-" },
01061       {       4434, "Omega*_cc^+" },
01062       {      -4434, "Omega*_cc~^-" },
01063       {       4444, "Omega*_ccc^++" },
01064       {      -4444, "Omega*_ccc~^--" },
01065       {       5112, "Sigma_b^-" },
01066       {      -5112, "Sigma_b~^+" },
01067       {       5114, "Sigma*_b^-" },
01068       {      -5114, "Sigma*_b~^+" },
01069       {       5122, "Lambda_b^0" },
01070       {      -5122, "Lambda_b~^0" },
01071       {       5132, "Xi_b^-" },
01072       {      -5132, "Xi_b~^+" },
01073       {       5142, "Xi_bc^0" },
01074       {      -5142, "Xi_bc~^0" },
01075       {       5212, "Sigma_b^0" },
01076       {      -5212, "Sigma_b~^0" },
01077       {       5214, "Sigma*_b^0" },
01078       {      -5214, "Sigma*_b~^0" },
01079       {       5222, "Sigma_b^+" },
01080       {      -5222, "Sigma_b~^-" },
01081       {       5224, "Sigma*_b^+" },
01082       {      -5224, "Sigma*_b~^-" },
01083       {       5232, "Xi_b^0" },
01084       {      -5232, "Xi_b~^0" },
01085       {       5242, "Xi_bc^+" },
01086       {      -5242, "Xi_bc~^-" },
01087       {       5312, "Xi'_b^-" },
01088       {      -5312, "Xi'_b~^+" },
01089       {       5314, "Xi*_b^-" },
01090       {      -5314, "Xi*_b~^+" },
01091       {       5322, "Xi'_b^0" },
01092       {      -5322, "Xi'_b~^0" },
01093       {       5324, "Xi*_b^0" },
01094       {      -5324, "Xi*_b~^0" },
01095       {       5332, "Omega_b^-" },
01096       {      -5332, "Omega_b~^+" },
01097       {       5334, "Omega*_b^-" },
01098       {      -5334, "Omega*_b~^+" },
01099       {       5342, "Omega_bc^0" },
01100       {      -5342, "Omega_bc~^0" },
01101       {       5412, "Xi'_bc^0" },
01102       {      -5412, "Xi'_bc~^0" },
01103       {       5414, "Xi*_bc^0" },
01104       {      -5414, "Xi*_bc~^0" },
01105       {       5422, "Xi'_bc^+" },
01106       {      -5422, "Xi'_bc~^-" },
01107       {       5424, "Xi*_bc^+" },
01108       {      -5424, "Xi*_bc~^-" },
01109       {       5432, "Omega'_bc^0" },
01110       {      -5432, "Omega'_bc~^0" },
01111       {       5434, "Omega*_bc^0" },
01112       {      -5434, "Omega*_bc~^0" },
01113       {       5442, "Omega_bcc^+" },
01114       {      -5442, "Omega_bcc~^-" },
01115       {       5444, "Omega*_bcc^+" },
01116       {      -5444, "Omega*_bcc~^-" },
01117       {       5512, "Xi_bb^-" },
01118       {      -5512, "Xi_bb~^+" },
01119       {       5514, "Xi*_bb^-" },
01120       {      -5514, "Xi*_bb~^+" },
01121       {       5522, "Xi_bb^0" },
01122       {      -5522, "Xi_bb~^0" },
01123       {       5524, "Xi*_bb^0" },
01124       {      -5524, "Xi*_bb~^0" },
01125       {       5532, "Omega_bb^-" },
01126       {      -5532, "Omega_bb~^+" },
01127       {       5534, "Omega*_bb^-" },
01128       {      -5534, "Omega*_bb~^+" },
01129       {       5542, "Omega_bbc^0" },
01130       {      -5542, "Omega_bbc~^0" },
01131       {       5544, "Omega*_bbc^0" },
01132       {      -5544, "Omega*_bbc~^0" },
01133       {       5554, "Omega*_bbb^-" },
01134       {      -5554, "Omega*_bbb~^+" },
01135       {       6112, "Sigma_t^0" },
01136       {      -6112, "Sigma_t~^0" },
01137       {       6114, "Sigma*_t^0" },
01138       {      -6114, "Sigma*_t~^0" },
01139       {       6122, "Lambda_t^+" },
01140       {      -6122, "Lambda_t~^-" },
01141       {       6132, "Xi_t^0" },
01142       {      -6132, "Xi_t~^0" },
01143       {       6142, "Xi_tc^+" },
01144       {      -6142, "Xi_tc~^-" },
01145       {       6152, "Xi_tb^0" },
01146       {      -6152, "Xi_tb~^0" },
01147       {       6212, "Sigma_t^+" },
01148       {      -6212, "Sigma_t~^-" },
01149       {       6214, "Sigma*_t^+" },
01150       {      -6214, "Sigma*_t~^-" },
01151       {       6222, "Sigma_t^++" },
01152       {      -6222, "Sigma_t~^--" },
01153       {       6224, "Sigma*_t^++" },
01154       {      -6224, "Sigma*_t~^--" },
01155       {       6232, "Xi_t^+" },
01156       {      -6232, "Xi_t~^-" },
01157       {       6242, "Xi_tc^++" },
01158       {      -6242, "Xi_tc~^--" },
01159       {       6252, "Xi_tb^+" },
01160       {      -6252, "Xi_tb~^-" },
01161       {       6312, "Xi'_t^0" },
01162       {      -6312, "Xi'_t~^0" },
01163       {       6314, "Xi*_t^0" },
01164       {      -6314, "Xi*_t~^0" },
01165       {       6322, "Xi'_t^+" },
01166       {      -6322, "Xi'_t~^-" },
01167       {       6324, "Xi*_t^+" },
01168       {      -6324, "Xi*_t~^-" },
01169       {       6332, "Omega_t^0" },
01170       {      -6332, "Omega_t~^0" },
01171       {       6334, "Omega*_t^0" },
01172       {      -6334, "Omega*_t~^0" },
01173       {       6342, "Omega_tc^+" },
01174       {      -6342, "Omega_tc~^-" },
01175       {       6352, "Omega_tb^0" },
01176       {      -6352, "Omega_tb~^0" },
01177       {       6412, "Xi'_tc^+" },
01178       {      -6412, "Xi'_tc~^-" },
01179       {       6414, "Xi*_tc^+" },
01180       {      -6414, "Xi*_tc~^-" },
01181       {       6422, "Xi'_tc^++" },
01182       {      -6422, "Xi'_tc~^--" },
01183       {       6424, "Xi*_tc^++" },
01184       {      -6424, "Xi*_tc~^--" },
01185       {       6432, "Omega'_tc^+" },
01186       {      -6432, "Omega'_tc~^-" },
01187       {       6434, "Omega*_tc^+" },
01188       {      -6434, "Omega*_tc~^-" },
01189       {       6442, "Omega_tcc^++" },
01190       {      -6442, "Omega_tcc~^--" },
01191       {       6444, "Omega*_tcc^++" },
01192       {      -6444, "Omega*_tcc~^--" },
01193       {       6452, "Omega_tbc^+" },
01194       {      -6452, "Omega_tbc~^-" },
01195       {       6512, "Xi'_tb^0" },
01196       {      -6512, "Xi'_tb~^0" },
01197       {       6514, "Xi*_tb^0" },
01198       {      -6514, "Xi*_tb~^0" },
01199       {       6522, "Xi'_tb^+" },
01200       {      -6522, "Xi'_tb~^-" },
01201       {       6524, "Xi*_tb^+" },
01202       {      -6524, "Xi*_tb~^-" },
01203       {       6532, "Omega'_tb^0" },
01204       {      -6532, "Omega'_tb~^0" },
01205       {       6534, "Omega*_tb^0" },
01206       {      -6534, "Omega*_tb~^0" },
01207       {       6542, "Omega'_tbc^+" },
01208       {      -6542, "Omega'_tbc~^-" },
01209       {       6544, "Omega*_tbc^+" },
01210       {      -6544, "Omega*_tbc~^-" },
01211       {       6552, "Omega_tbb^0" },
01212       {      -6552, "Omega_tbb~^0" },
01213       {       6554, "Omega*_tbb^0" },
01214       {      -6554, "Omega*_tbb~^0" },
01215       {       6612, "Xi_tt^+" },
01216       {      -6612, "Xi_tt~^-" },
01217       {       6614, "Xi*_tt^+" },
01218       {      -6614, "Xi*_tt~^-" },
01219       {       6622, "Xi_tt^++" },
01220       {      -6622, "Xi_tt~^--" },
01221       {       6624, "Xi*_tt^++" },
01222       {      -6624, "Xi*_tt~^--" },
01223       {       6632, "Omega_tt^+" },
01224       {      -6632, "Omega_tt~^-" },
01225       {       6634, "Omega*_tt^+" },
01226       {      -6634, "Omega*_tt~^-" },
01227       {       6642, "Omega_ttc^++" },
01228       {      -6642, "Omega_ttc~^--" },
01229       {       6644, "Omega*_ttc^++" },
01230       {      -6644, "Omega*_ttc~^--" },
01231       {       6652, "Omega_ttb^+" },
01232       {      -6652, "Omega_ttb~^-" },
01233       {       6654, "Omega*_ttb^+" },
01234       {      -6654, "Omega*_ttb~^-" },
01235       {       6664, "Omega*_ttt^++" },
01236       {      -6664, "Omega*_ttt~^--" },
01237       {       7112, "Sigma_b'^-" },
01238       {      -7112, "Sigma_b'~^+" },
01239       {       7114, "Sigma*_b'^-" },
01240       {      -7114, "Sigma*_b'~^+" },
01241       {       7122, "Lambda_b'^0" },
01242       {      -7122, "Lambda_b'~^0" },
01243       {       7132, "Xi_b'^-" },
01244       {      -7132, "Xi_b'~^+" },
01245       {       7142, "Xi_b'c^0" },
01246       {      -7142, "Xi_b'c~^0" },
01247       {       7152, "Xi_b'b^-" },
01248       {      -7152, "Xi_b'b~^+" },
01249       {       7162, "Xi_b't^0" },
01250       {      -7162, "Xi_b't~^0" },
01251       {       7212, "Sigma_b'^0" },
01252       {      -7212, "Sigma_b'~^0" },
01253       {       7214, "Sigma*_b'^0" },
01254       {      -7214, "Sigma*_b'~^0" },
01255       {       7222, "Sigma_b'^+" },
01256       {      -7222, "Sigma_b'~^-" },
01257       {       7224, "Sigma*_b'^+" },
01258       {      -7224, "Sigma*_b'~^-" },
01259       {       7232, "Xi_b'^0" },
01260       {      -7232, "Xi_b'~^0" },
01261       {       7242, "Xi_b'c^+" },
01262       {      -7242, "Xi_b'c~^-" },
01263       {       7252, "Xi_b'b^0" },
01264       {      -7252, "Xi_b'b~^0" },
01265       {       7262, "Xi_b't^+" },
01266       {      -7262, "Xi_b't~^-" },
01267       {       7312, "Xi'_b'^-" },
01268       {      -7312, "Xi'_b'~^+" },
01269       {       7314, "Xi*_b'^-" },
01270       {      -7314, "Xi*_b'~^+" },
01271       {       7322, "Xi'_b'^0" },
01272       {      -7322, "Xi'_b'~^0" },
01273       {       7324, "Xi*_b'^0" },
01274       {      -7324, "Xi*_b'~^0" },
01275       {       7332, "Omega'_b'^-" },
01276       {      -7332, "Omega'_b'~^+" },
01277       {       7334, "Omega*_b'^-" },
01278       {      -7334, "Omega*_b'~^+" },
01279       {       7342, "Omega_b'c^0" },
01280       {      -7342, "Omega_b'c~^0" },
01281       {       7352, "Omega_b'b^-" },
01282       {      -7352, "Omega_b'b~^+" },
01283       {       7362, "Omega_b't^0" },
01284       {      -7362, "Omega_b't~^0" },
01285       {       7412, "Xi'_b'c^0" },
01286       {      -7412, "Xi'_b'c~^0" },
01287       {       7414, "Xi*_b'c^0" },
01288       {      -7414, "Xi*_b'c~^0" },
01289       {       7422, "Xi'_b'c^+" },
01290       {      -7422, "Xi'_b'c~^-" },
01291       {       7424, "Xi*_b'c^+" },
01292       {      -7424, "Xi*_b'c~^-" },
01293       {       7432, "Omega'_b'c^0" },
01294       {      -7432, "Omega'_b'c~^0" },
01295       {       7434, "Omega*_b'c^0" },
01296       {      -7434, "Omega*_b'c~^0" },
01297       {       7442, "Omega'_b'cc^+" },
01298       {      -7442, "Omega'_b'cc~^-" },
01299       {       7444, "Omega*_b'cc^+" },
01300       {      -7444, "Omega*_b'cc~^-" },
01301       {       7452, "Omega_b'bc^0" },
01302       {      -7452, "Omega_b'bc~^0" },
01303       {       7462, "Omega_b'tc^+" },
01304       {      -7462, "Omega_b'tc~^-" },
01305       {       7512, "Xi'_b'b^-" },
01306       {      -7512, "Xi'_b'b~^+" },
01307       {       7514, "Xi*_b'b^-" },
01308       {      -7514, "Xi*_b'b~^+" },
01309       {       7522, "Xi'_b'b^0" },
01310       {      -7522, "Xi'_b'b~^0" },
01311       {       7524, "Xi*_b'b^0" },
01312       {      -7524, "Xi*_b'b~^0" },
01313       {       7532, "Omega'_b'b^-" },
01314       {      -7532, "Omega'_b'b~^+" },
01315       {       7534, "Omega*_b'b^-" },
01316       {      -7534, "Omega*_b'b~^+" },
01317       {       7542, "Omega'_b'bc^0" },
01318       {      -7542, "Omega'_b'bc~^0" },
01319       {       7544, "Omega*_b'bc^0" },
01320       {      -7544, "Omega*_b'bc~^0" },
01321       {       7552, "Omega'_b'bb^-" },
01322       {      -7552, "Omega'_b'bb~^+" },
01323       {       7554, "Omega*_b'bb^-" },
01324       {      -7554, "Omega*_b'bb~^+" },
01325       {       7562, "Omega_b'tb^0" },
01326       {      -7562, "Omega_b'tb~^0" },
01327       {       7612, "Xi'_b't^0" },
01328       {      -7612, "Xi'_b't~^0" },
01329       {       7614, "Xi*_b't^0" },
01330       {      -7614, "Xi*_b't~^0" },
01331       {       7622, "Xi'_b't^+" },
01332       {      -7622, "Xi'_b't~^-" },
01333       {       7624, "Xi*_b't^+" },
01334       {      -7624, "Xi*_b't~^-" },
01335       {       7632, "Omega'_b't^0" },
01336       {      -7632, "Omega'_b't~^0" },
01337       {       7634, "Omega*_b't^0" },
01338       {      -7634, "Omega*_b't~^0" },
01339       {       7642, "Omega'_b'tc^+" },
01340       {      -7642, "Omega'_b'tc~^-" },
01341       {       7644, "Omega*_b'tc^+" },
01342       {      -7644, "Omega*_b'tc~^-" },
01343       {       7652, "Omega'_b'tb^0" },
01344       {      -7652, "Omega'_b'tb~^0" },
01345       {       7654, "Omega*_b'tb^0" },
01346       {      -7654, "Omega*_b'tb~^0" },
01347       {       7662, "Omega'_b'tt^+" },
01348       {      -7662, "Omega'_b'tt~^-" },
01349       {       7664, "Omega*_b'tt^+" },
01350       {      -7664, "Omega*_b'tt~^-" },
01351       {       7712, "Xi'_b'b'^-" },
01352       {      -7712, "Xi'_b'b'~^+" },
01353       {       7714, "Xi*_b'b'^-" },
01354       {      -7714, "Xi*_b'b'~^+" },
01355       {       7722, "Xi'_b'b'^0" },
01356       {      -7722, "Xi'_b'b'~^0" },
01357       {       7724, "Xi*_b'b'^0" },
01358       {      -7724, "Xi*_b'b'~^0" },
01359       {       7732, "Omega'_b'b'^-" },
01360       {      -7732, "Omega'_b'b'~^+" },
01361       {       7734, "Omega*_b'b'^-" },
01362       {      -7734, "Omega*_b'b'~^+" },
01363       {       7742, "Omega'_b'b'c^0" },
01364       {      -7742, "Omega'_b'b'c~^0" },
01365       {       7744, "Omega*_b'b'c^0" },
01366       {      -7744, "Omega*_b'b'c~^0" },
01367       {       7752, "Omega'_b'b'b^-" },
01368       {      -7752, "Omega'_b'b'b~^+" },
01369       {       7754, "Omega*_b'b'b^-" },
01370       {      -7754, "Omega*_b'b'b~^+" },
01371       {       7762, "Omega'_b'b't^0" },
01372       {      -7762, "Omega'_b'b't~^0" },
01373       {       7764, "Omega*_b'b't^0" },
01374       {      -7764, "Omega*_b'b't~^0" },
01375       {       7774, "Omega*_b'b'b'^-" },
01376       {      -7774, "Omega*_b'b'b'~^+" },
01377       {       8112, "Sigma_t'^0" },
01378       {      -8112, "Sigma_t'~^0" },
01379       {       8114, "Sigma*_t'^0" },
01380       {      -8114, "Sigma*_t'~^0" },
01381       {       8122, "Lambda_t'^+" },
01382       {      -8122, "Lambda_t'~^-" },
01383       {       8132, "Xi_t'^0" },
01384       {      -8132, "Xi_t'~^0" },
01385       {       8142, "Xi_t'c^+" },
01386       {      -8142, "Xi_t'c~^-" },
01387       {       8152, "Xi_t'b^0" },
01388       {      -8152, "Xi_t'b~^0" },
01389       {       8162, "Xi_t't^+" },
01390       {      -8162, "Xi_t't~^-" },
01391       {       8172, "Xi_t'b'^0" },
01392       {      -8172, "Xi_t'b'~^0" },
01393       {       8212, "Sigma_t'^+" },
01394       {      -8212, "Sigma_t'~^-" },
01395       {       8214, "Sigma*_t'^+" },
01396       {      -8214, "Sigma*_t'~^-" },
01397       {       8222, "Sigma_t'^++" },
01398       {      -8222, "Sigma_t'~^--" },
01399       {       8224, "Sigma*_t'^++" },
01400       {      -8224, "Sigma*_t'~^--" },
01401       {       8232, "Xi_t'^+" },
01402       {      -8232, "Xi_t'~^-" },
01403       {       8242, "Xi_t'c^++" },
01404       {      -8242, "Xi_t'c~^--" },
01405       {       8252, "Xi_t'b^+" },
01406       {      -8252, "Xi_t'b~^-" },
01407       {       8262, "Xi_t't^++" },
01408       {      -8262, "Xi_t't~^--" },
01409       {       8272, "Xi_t'b'^+" },
01410       {      -8272, "Xi_t'b'~^-" },
01411       {       8312, "Xi'_t'^0" },
01412       {      -8312, "Xi'_t'~^0" },
01413       {       8314, "Xi*_t'^0" },
01414       {      -8314, "Xi*_t'~^0" },
01415       {       8322, "Xi'_t'^+" },
01416       {      -8322, "Xi'_t'~^-" },
01417       {       8324, "Xi*_t'^+" },
01418       {      -8324, "Xi*_t'~^-" },
01419       {       8332, "Omega'_t'^0" },
01420       {      -8332, "Omega'_t'~^0" },
01421       {       8334, "Omega*_t'^0" },
01422       {      -8334, "Omega*_t'~^0" },
01423       {       8342, "Omega_t'c^+" },
01424       {      -8342, "Omega_t'c~^-" },
01425       {       8352, "Omega_t'b^0" },
01426       {      -8352, "Omega_t'b~^0" },
01427       {       8362, "Omega_t't^+" },
01428       {      -8362, "Omega_t't~^-" },
01429       {       8372, "Omega_t'b'^0" },
01430       {      -8372, "Omega_t'b'~^0" },
01431       {       8412, "Xi'_t'c^+" },
01432       {      -8412, "Xi'_t'c~^-" },
01433       {       8414, "Xi*_t'c^+" },
01434       {      -8414, "Xi*_t'c~^-" },
01435       {       8422, "Xi'_t'c^++" },
01436       {      -8422, "Xi'_t'c~^--" },
01437       {       8424, "Xi*_t'c^++" },
01438       {      -8424, "Xi*_t'c~^--" },
01439       {       8432, "Omega'_t'c^+" },
01440       {      -8432, "Omega'_t'c~^-" },
01441       {       8434, "Omega*_t'c^+" },
01442       {      -8434, "Omega*_t'c~^-" },
01443       {       8442, "Omega'_t'cc^++" },
01444       {      -8442, "Omega'_t'cc~^--" },
01445       {       8444, "Omega*_t'cc^++" },
01446       {      -8444, "Omega*_t'cc~^--" },
01447       {       8452, "Omega_t'bc^+" },
01448       {      -8452, "Omega_t'bc~^-" },
01449       {       8462, "Omega_t'tc^++" },
01450       {      -8462, "Omega_t'tc~^--" },
01451       {       8472, "Omega_t'b'c ^+" },
01452       {      -8472, "Omega_t'b'c ~^-" },
01453       {       8512, "Xi'_t'b^0" },
01454       {      -8512, "Xi'_t'b~^0" },
01455       {       8514, "Xi*_t'b^0" },
01456       {      -8514, "Xi*_t'b~^0" },
01457       {       8522, "Xi'_t'b^+" },
01458       {      -8522, "Xi'_t'b~^-" },
01459       {       8524, "Xi*_t'b^+" },
01460       {      -8524, "Xi*_t'b~^-" },
01461       {       8532, "Omega'_t'b^0" },
01462       {      -8532, "Omega'_t'b~^0" },
01463       {       8534, "Omega*_t'b^0" },
01464       {      -8534, "Omega*_t'b~^0" },
01465       {       8542, "Omega'_t'bc^+" },
01466       {      -8542, "Omega'_t'bc~^-" },
01467       {       8544, "Omega*_t'bc^+" },
01468       {      -8544, "Omega*_t'bc~^-" },
01469       {       8552, "Omega'_t'bb^0" },
01470       {      -8552, "Omega'_t'bb~^0" },
01471       {       8554, "Omega*_t'bb^0" },
01472       {      -8554, "Omega*_t'bb~^0" },
01473       {       8562, "Omega_t'tb^+" },
01474       {      -8562, "Omega_t'tb~^-" },
01475       {       8572, "Omega_t'b'b ^0" },
01476       {      -8572, "Omega_t'b'b ~^0" },
01477       {       8612, "Xi'_t't^+" },
01478       {      -8612, "Xi'_t't~^-" },
01479       {       8614, "Xi*_t't^+" },
01480       {      -8614, "Xi*_t't~^-" },
01481       {       8622, "Xi'_t't^++" },
01482       {      -8622, "Xi'_t't~^--" },
01483       {       8624, "Xi*_t't^++" },
01484       {      -8624, "Xi*_t't~^--" },
01485       {       8632, "Omega'_t't^+" },
01486       {      -8632, "Omega'_t't~^-" },
01487       {       8634, "Omega*_t't^+" },
01488       {      -8634, "Omega*_t't~^-" },
01489       {       8642, "Omega'_t'tc^++" },
01490       {      -8642, "Omega'_t'tc~^--" },
01491       {       8644, "Omega*_t'tc^++" },
01492       {      -8644, "Omega*_t'tc~^--" },
01493       {       8652, "Omega'_t'tb^+" },
01494       {      -8652, "Omega'_t'tb~^-" },
01495       {       8654, "Omega*_t'tb^+" },
01496       {      -8654, "Omega*_t'tb~^-" },
01497       {       8662, "Omega'_t'tt^++" },
01498       {      -8662, "Omega'_t'tt~^--" },
01499       {       8664, "Omega*_t'tt^++" },
01500       {      -8664, "Omega*_t'tt~^--" },
01501       {       8672, "Omega_t'b't ^+" },
01502       {      -8672, "Omega_t'b't ~^-" },
01503       {       8712, "Xi'_t'b'^0" },
01504       {      -8712, "Xi'_t'b'~^0" },
01505       {       8714, "Xi*_t'b'^0" },
01506       {      -8714, "Xi*_t'b'~^0" },
01507       {       8722, "Xi'_t'b'^+" },
01508       {      -8722, "Xi'_t'b'~^-" },
01509       {       8724, "Xi*_t'b'^+" },
01510       {      -8724, "Xi*_t'b'~^-" },
01511       {       8732, "Omega'_t'b'^0" },
01512       {      -8732, "Omega'_t'b'~^0" },
01513       {       8734, "Omega*_t'b'^0" },
01514       {      -8734, "Omega*_t'b'~^0" },
01515       {       8742, "Omega'_t'b'c^+" },
01516       {      -8742, "Omega'_t'b'c~^-" },
01517       {       8744, "Omega*_t'b'c^+" },
01518       {      -8744, "Omega*_t'b'c~^-" },
01519       {       8752, "Omega'_t'b'b^0" },
01520       {      -8752, "Omega'_t'b'b~^0" },
01521       {       8754, "Omega*_t'b'b^0" },
01522       {      -8754, "Omega*_t'b'b~^0" },
01523       {       8762, "Omega'_t'b't^+" },
01524       {      -8762, "Omega'_t'b't~^-" },
01525       {       8764, "Omega*_t'b't^+" },
01526       {      -8764, "Omega*_t'b't~^-" },
01527       {       8772, "Omega'_t'b'b'^0" },
01528       {      -8772, "Omega'_t'b'b'~^0" },
01529       {       8774, "Omega*_t'b'b'^0" },
01530       {      -8774, "Omega*_t'b'b'~^0" },
01531       {       8812, "Xi'_t't'^+" },
01532       {      -8812, "Xi'_t't'~^-" },
01533       {       8814, "Xi*_t't'^+" },
01534       {      -8814, "Xi*_t't'~^-" },
01535       {       8822, "Xi'_t't'^++" },
01536       {      -8822, "Xi'_t't'~^--" },
01537       {       8824, "Xi*_t't'^++" },
01538       {      -8824, "Xi*_t't'~^--" },
01539       {       8832, "Omega'_t't'^+" },
01540       {      -8832, "Omega'_t't'~^-" },
01541       {       8834, "Omega*_t't'^+" },
01542       {      -8834, "Omega*_t't'~^-" },
01543       {       8842, "Omega'_t't'c^++" },
01544       {      -8842, "Omega'_t't'c~^--" },
01545       {       8844, "Omega*_t't'c^++" },
01546       {      -8844, "Omega*_t't'c~^--" },
01547       {       8852, "Omega'_t't'b^+" },
01548       {      -8852, "Omega'_t't'b~^-" },
01549       {       8854, "Omega*_t't'b^+" },
01550       {      -8854, "Omega*_t't'b~^-" },
01551       {       8862, "Omega'_t't't^++" },
01552       {      -8862, "Omega'_t't't~^--" },
01553       {       8864, "Omega*_t't't^++" },
01554       {      -8864, "Omega*_t't't~^--" },
01555       {       8872, "Omega'_t't'b'^+" },
01556       {      -8872, "Omega'_t't'b'~^-" },
01557       {       8874, "Omega*_t't'b'^+" },
01558       {      -8874, "Omega*_t't'b'~^-" },
01559       {       8884, "Omega*_t't't'^++" },
01560       {      -8884, "Omega*_t't't'~^--" },
01561       {    9221132, "Theta^+" },
01562       {    9331122, "Phi^--" },
01563       {    1000993, "R_~gg^0" },
01564       {    1009113, "R_~gd~d^0" },
01565       {    1009213, "R_~gu~d^+" },
01566       {    1009223, "R_~gu~u^0" },
01567       {    1009313, "R_~gd~s^0" },
01568       {    1009323, "R_~gu~s^+" },
01569       {    1009333, "R_~gs~s^0" },
01570       {    1091114, "R_~gddd^-" },
01571       {    1092114, "R_~gudd^0" },
01572       {    1092214, "R_~guud^+" },
01573       {    1092224, "R_~guuu^++" },
01574       {    1093114, "R_~gsdd^-" },
01575       {    1093214, "R_~gsud^0" },
01576       {    1093224, "R_~gsuu^+" },
01577       {    1093314, "R_~gssd^-" },
01578       {    1093324, "R_~gssu^0" },
01579       {    1093334, "R_~gsss^-" },
01580       {    1000612, "R_~t_1~d^+" },
01581       {    1000622, "R_~t_1~u^0" },
01582       {    1000632, "R_~t_1~s^+" },
01583       {    1000642, "R_~t_1~c^0" },
01584       {    1000652, "R_~t_1~b^+" },
01585       {    1006113, "R_~t_1dd_1^0" },
01586       {    1006211, "R_~t_1ud_0^+" },
01587       {    1006213, "R_~t_1ud_1^+" },
01588       {    1006223, "R_~t_1uu_1^++" },
01589       {    1006311, "R_~t_1sd_0^0" },
01590       {    1006313, "R_~t_1sd_1^0" },
01591       {    1006321, "R_~t_1su_0^+" },
01592       {    1006323, "R_~t_1su_1^+" },
01593       {    1006333, "R_~t_1ss_1^0" },
01594       { 1000010010, "Hydrogen" },
01595       { 1000010020, "Deuterium" },
01596       {-1000010020, "Anti-Deuterium" },
01597       { 1000010030, "Tritium" },
01598       {-1000010030, "Anti-Tritium" },
01599       { 1000020030, "He3" },
01600       {-1000020030, "Anti-He3" },
01601       { 1000020040, "Alpha-(He4)" },
01602       {-1000020040, "Anti-Alpha-(He4)" }
01603   };
01604 
01605   int lnames = sizeof(SNames)/sizeof(SNames[0]);
01606   for( int k=0; k!=lnames; ++k) {
01607       m.insert( std::make_pair( SNames[k].pid, std::string(SNames[k].pname)) );
01608       nameMap.insert( std::make_pair( std::string(SNames[k].pname), SNames[k].pid ) );
01609   }
01610   static ParticleNameMap mymaps(m,nameMap);
01611 
01612   return mymaps;
01613 }  // ParticleNameInit()
01614 
01615 void writeParticleNameLine( int i, std::ostream & os  )
01616 {
01617     if ( validParticleName( i ) ) {
01618         std::string pn = particleName( i );
01619     os << "  PDT number: " ;
01620     os.width(12);
01621     os << i << "  PDT name: " << pn << std::endl;
01622 
01623     }
01624     return;
01625 }  // writeParticleNameLine()
01626 
01627 } // unnamed namespace
01628 
01629 //
01630 // getPartcleIdMap is the ONLY function allowed to call ParticleNameInit
01631 //
01632 ParticleNameMap const &  getParticleNameMap()
01633 {
01634   static  ParticleNameMap const &  pmap = ParticleNameInit();
01635   return pmap;
01636 }  // getPartcleIdMap()
01637 
01638 bool validParticleName( const int & pid )
01639 {
01640     static  ParticleNameMap const &  pmap = getParticleNameMap();
01641 
01642     ParticleNameMap::idIterator const cit = pmap.find( pid );
01643     return ( cit == pmap.end() )
01644          ? false
01645      : true;
01646 }  // validParticleName()
01647 
01648 bool validParticleName( const std::string & s )
01649 {
01650     static  ParticleNameMap const &  pmap = getParticleNameMap();
01651     ParticleNameMap::nameIterator const cit = pmap.findString( s );
01652     return ( cit == pmap.endLookupMap() )
01653          ? false
01654      : true;
01655 }  // validParticleName()
01656 
01657 std::string  particleName( const int & pid )
01658 {
01659     static  ParticleNameMap const &  pmap = getParticleNameMap();
01660 
01661     ParticleNameMap::idIterator const cit = pmap.find( pid );
01662     return ( cit == pmap.end() )
01663          ? std::string("not defined")
01664      : cit->second;
01665 }  // particleName()
01666 
01667 int  particleName( const std::string & s )
01668 {
01669     static  ParticleNameMap const &  pmap = getParticleNameMap();
01670     ParticleNameMap::nameIterator const cit = pmap.findString( s );
01671     return ( cit == pmap.endLookupMap() )
01672          ? 0
01673      : cit->second;
01674 }  // particleName()
01675 
01676 //
01677 // list all the defined names
01678 //
01679 void  listParticleNames( std::ostream & os  )
01680 {
01681   //writeVersion( os );
01682     os << "     HepPID Particle List" << std::endl;
01683     os << std::endl;
01684 
01685     // simple: static  PartcleIdMap const &  pmap = getPartcleIdMap();
01686     // simple: for( PartcleIdMap::const_iterator cit = pmap.begin(), mend = pmap.end();
01687     // simple:                                 cit != mend;
01688     // simple:            ++cit ) {
01689     // simple: os << "  PDT number: " ;
01690     // simple: os.width(12);
01691     // simple: os << cit->first << "  PDT name: " << cit->second << std::endl;
01692     // simple: }
01693     int id, i, j, q1, q2, q3, l, m, n;
01694     // special cases
01695     for( id=1; id<101; ++id) {
01696         writeParticleNameLine(  id, os );
01697         writeParticleNameLine( -id, os );
01698     }
01699     for( i=11; i<1000; ++i) {
01700         id = i*10;
01701         writeParticleNameLine(  id, os );
01702         writeParticleNameLine( -id, os );
01703     }
01704     // SUSY
01705     for( n=1; n<3; ++n) {
01706     for( q1=0; q1<10; ++q1) {
01707         for( j=0; j<10; ++j) {
01708         id = 1000000*n+10*q1+j;
01709             writeParticleNameLine(  id, os );
01710             writeParticleNameLine( -id, os );
01711         }
01712     }
01713     }
01714     // technicolor, etc.
01715     for( n=3; n<6; ++n) {
01716         for( q2=0; q2<10; ++q2) {
01717         for( q1=0; q1<10; ++q1) {
01718             for( j=0; j<10; ++j) {
01719             for( m=0; m<10; ++m) {
01720                 for( l=0; l<7; ++l) {
01721                 id = 1000000*n+100000*m+10000*l+100*q2+10*q1+j;
01722                     writeParticleNameLine(  id, os );
01723                     writeParticleNameLine( -id, os );
01724             }
01725             }
01726         }
01727         }
01728     }
01729     }
01730     // R-hadrons
01731     for( q3=0; q3<10; ++q3) {
01732     for( q2=1; q2<10; ++q2) {
01733         for( q1=1; q1<10; ++q1) {
01734         for( j=1; j<5; ++j) {
01735             id = 1000000+1000*q3+100*q2+10*q1+j;
01736                 writeParticleNameLine( id, os );
01737             if(q3 > 0 ) id = 1000000+90000+1000*q3+100*q2+10*q1+j;
01738                 writeParticleNameLine( id, os );
01739         }
01740         }
01741     }
01742     }
01743     // miscellaneous generator particles
01744     for( l=0; l<9; ++l) {
01745     for( i=1; i<100; ++i) {
01746         id = 9900000+10000*l+i;
01747             writeParticleNameLine(  id, os );
01748             writeParticleNameLine( -id, os );
01749     }
01750         for( q3=0; q3<10; ++q3) {
01751             for( q2=1; q2<10; ++q2) {
01752         for( q1=1; q1<10; ++q1) {
01753                 for( j=0; j<10; ++j) {
01754             id = 9900000+10000*l+1000*q3+100*q2+10*q1+j;
01755                 writeParticleNameLine(  id, os );
01756                 writeParticleNameLine( -id, os );
01757             }
01758         }
01759         }
01760     }
01761     }
01762     // diquark
01763     for( i=11; i<100; ++i) {
01764         for( j=0; j<10; ++j) {
01765             id = 100*i+j;
01766             writeParticleNameLine(  id, os );
01767             writeParticleNameLine( -id, os );
01768     }
01769     }
01770     // mesons
01771     for( q2=1; q2<10; ++q2) {
01772     for( q1=1; q1<10; ++q1) {
01773         for( j=1; j<10; ++j) {
01774         for( m=0; m<9; ++m) {
01775             for( l=0; l<10; ++l) {
01776             id = 100000*m+10000*l+100*q2+10*q1+j;
01777                 writeParticleNameLine(  id, os );
01778                 writeParticleNameLine( -id, os );
01779             id = 9000000+100000*m+10000*l+100*q2+10*q1+j;
01780                 writeParticleNameLine(  id, os );
01781                 writeParticleNameLine( -id, os );
01782             }
01783         }
01784         }
01785     }
01786     }
01787     // baryons
01788     for( q3=1; q3<10; ++q3) {
01789     for( q2=1; q2<10; ++q2) {
01790         for( q1=1; q1<10; ++q1) {
01791         for( j=1; j<10; ++j) {
01792             for( m=0; m<9; ++m) {
01793             id = 10000*m+1000*q3+100*q2+10*q1+j;
01794                 writeParticleNameLine(  id, os );
01795                 writeParticleNameLine( -id, os );
01796             }
01797         }
01798         }
01799     }
01800     }
01801     // pentaquarks
01802     for( l=1; l<9; ++l ) {
01803         for ( m=1; m<9; ++m ) {
01804         for( q3=1; q3<9; ++q3) {
01805         for( q2=1; q2<9; ++q2) {
01806             for( q1=1; q1<9; ++q1) {
01807             id = 9*1000000+l*100000+m*10000+1000*q3+100*q2+10*q1+2;
01808                 writeParticleNameLine(  id, os );
01809                 writeParticleNameLine( -id, os );
01810             }
01811         }
01812         }
01813         }
01814     }
01815     // ions
01816     for( i=1; i<3; ++i) {
01817     for( m=1; m<5; ++m) {
01818         id = 1000000000+10*m+10000*i;
01819             writeParticleNameLine(  id, os );
01820             writeParticleNameLine( -id, os );
01821     }
01822     }
01823     return;
01824 }  // listParticleNames()
01825  
01826   }}