00001 #ifndef AGILE_PARTICLE_HH 00002 #define AGILE_PARTICLE_HH 00003 00004 namespace AGILe { 00005 00006 typedef int PdgCode; 00007 00009 enum ParticleName { 00010 ELECTRON = 11, 00011 POSITRON = -11, 00012 PROTON = 2212, 00013 ANTIPROTON = -2212, 00014 PHOTON = 22, 00015 NEUTRON = 2112, 00016 ANTINEUTRON = 2112, 00017 MUON = 13, 00018 ANTIMUON = -13, 00019 NU_E = 12, 00020 NU_EBAR = -12, 00021 NU_MU = 14, 00022 NU_MUBAR = -14, 00023 NU_TAU = 16, 00024 NU_TAUBAR = -16, 00025 PIPLUS = 211, 00026 PIMINUS = -211, 00027 TAU = 15, 00028 ANTITAU = -15, 00029 EMINUS = 11, 00030 EPLUS = -11, 00031 P = 2212, 00032 PBAR = -2212, 00033 GAMMA = 22, 00034 ANY = 10000, 00035 PHOTOELECTRON, 00036 PHOTOPOSITRON, 00037 PHOTOMUON, 00038 PHOTOANTIMUON, 00039 PHOTOTAU, 00040 PHOTOANTITAU 00041 }; 00042 00043 00044 // /// Get the particle enum corresponding to the supplied string. 00045 // inline const Particle strToBeam(const std::string& beamname) { 00046 // if (beamname == "ELECTRON" || beamname == "E-") return ELECTRON; 00047 // if (beamname == "POSITRON" || beamname == "E+") return POSITRON; 00048 // if (beamname == "PROTON" || beamname == "P") return PROTON; 00049 // if (beamname == "ANTIPROTON" || beamname == "PBAR") return ANTIPROTON; 00050 // if (beamname == "PHOTON" || beamname == "GAMMA") return PHOTON; 00051 // throw std::runtime_error("Couldn't parse beam string into a valid beam particle"); 00052 // } 00053 00054 } 00055 00056 #endif