Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:25:53

0001 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0002 #include "SimTracker/TrackHistory/interface/CMSProcessTypes.h"
0003 #include "SimTracker/TrackHistory/interface/Utils.h"
0004 
0005 G4toCMSLegacyProcTypeMap::G4toCMSLegacyProcTypeMap() {
0006   // Geant4Process -> CmsProcess
0007   m_map[0] = CMS::Primary;                // "Primary"         -> "Primary"
0008   m_map[91] = CMS::Unknown;               // "Transportation"  -> "Unknown"
0009   m_map[92] = CMS::Unknown;               // "CoupleTrans"     -> "Unknown" => DOUBLE-CHECK THIS
0010   m_map[1] = CMS::Unknown;                // "CoulombScat"     -> "Unknown" => DOUBLE-CHECK THIS
0011   m_map[2] = CMS::EIoni;                  // "Ionisation"      -> "EIoni" => WHAT ABOUT MuIoni?
0012   m_map[3] = CMS::EBrem;                  // "Brems"           -> "EBrem" => WHAT ABOUT MuBrem?
0013   m_map[4] = CMS::MuPairProd;             // "PairProdCharged" -> "MuPairProd" => DOUBLE-CHECK THIS
0014   m_map[5] = CMS::Annihilation;           // "Annih"           -> "Annihilation"
0015   m_map[6] = CMS::Annihilation;           // "AnnihToMuMu"     -> "Annihilation"
0016   m_map[7] = CMS::Annihilation;           // "AnnihToHad"      -> "Annihilation"
0017   m_map[8] = CMS::Hadronic;               // "NuclearStopp"    -> "Hadronic" => DOUBLE-CHECK THIS
0018   m_map[10] = CMS::Unknown;               // "Msc"             -> "Unknown" => DOUBLE-CHECK THIS
0019   m_map[11] = CMS::Unknown;               // "Rayleigh"        -> "Unknown" => DOUBLE-CHECK THIS
0020   m_map[12] = CMS::Photon;                // "PhotoElectric"   -> "Photon"
0021   m_map[13] = CMS::Compton;               // "Compton"         -> "Compton"
0022   m_map[14] = CMS::Conversions;           // "Conv"            -> "Conversions"
0023   m_map[15] = CMS::Conversions;           // "ConvToMuMu"      -> "Conversions"
0024   m_map[21] = CMS::Unknown;               // "Cerenkov"        -> "Unknown" => DOUBLE-CHECK THIS
0025   m_map[22] = CMS::Unknown;               // "Scintillation"   -> "Unknown" => DOUBLE-CHECK THIS
0026   m_map[23] = CMS::SynchrotronRadiation;  // "SynchRad"        -> "SynchrotronRadiation"
0027   m_map[24] = CMS::SynchrotronRadiation;  // "TransRad"        -> "SynchrotronRadiation"
0028                                           // => DOUBLE-CHECK THIS
0029   m_map[31] = CMS::Unknown;               // "OpAbsorp"        -> "Unknown" => NOT USED IN CMS
0030   m_map[32] = CMS::Unknown;               // "OpBoundary"      -> "Unknown" => NOT USED IN CMS
0031   m_map[33] = CMS::Unknown;               // "OpRayleigh"      -> "Unknown" => NOT USED IN CMS
0032   m_map[34] = CMS::Unknown;               // "OpWLS"           -> "Unknown" => NOT USED IN CMS
0033   m_map[35] = CMS::Unknown;               // "OpMieHG"         -> "Unknown" => NOT USED IN CMS
0034   m_map[51] = CMS::Unknown;               // "DNAElastic"      -> "Unknown" => NOT USED IN CMS
0035   m_map[52] = CMS::Unknown;               // "DNAExcit"        -> "Unknown" => NOT USED IN CMS
0036   m_map[53] = CMS::Unknown;               // "DNAIonisation"   -> "Unknown" => NOT USED IN CMS
0037   m_map[54] = CMS::Unknown;               // "DNAVibExcit"     -> "Unknown" => NOT USED IN CMS
0038   m_map[55] = CMS::Unknown;               // "DNAAttachment"   -> "Unknown" => NOT USED IN CMS
0039   m_map[56] = CMS::Unknown;               // "DNAChargeDec"    -> "Unknown" => NOT USED IN CMS
0040   m_map[57] = CMS::Unknown;               // "DNAChargeInc"    -> "Unknown" => NOT USED IN CMS
0041   m_map[111] = CMS::Hadronic;             // "HadElastic"      -> "Hadronic"
0042   m_map[121] = CMS::Hadronic;             // "HadInelastic"    -> "Hadronic"
0043   m_map[131] = CMS::Hadronic;             // "HadCapture"      -> "Hadronic"
0044   m_map[141] = CMS::Hadronic;             // "HadFission"      -> "Hadronic"
0045   m_map[151] = CMS::Hadronic;             // "HadAtRest"       -> "Hadronic"
0046   m_map[161] = CMS::Hadronic;             // "HadCEX"          -> "Hadronic"
0047   m_map[201] = CMS::Decay;                // "Decay"           -> "Decay"
0048   m_map[202] = CMS::Decay;                // "DecayWSpin"      -> "Decay"
0049   m_map[203] = CMS::Decay;                // "DecayPiWSpin"    -> "Decay"
0050   m_map[210] = CMS::Decay;                // "DecayRadio"      -> "Decay"
0051   m_map[211] = CMS::Decay;                // "DecayUnKnown"    -> "Decay"
0052   m_map[231] = CMS::Decay;                // "DecayExt"        -> "Decay"
0053   m_map[301] = CMS::Unknown;              // "GFlash"          -> "Unknown"
0054   m_map[401] = CMS::Unknown;              // "StepLimiter"     -> "Unknown"
0055   m_map[402] = CMS::Unknown;              // "UsrSpecCuts"     -> "Unknown"
0056   m_map[403] = CMS::Unknown;              // "NeutronKiller"   -> "Unknown"
0057 }
0058 
0059 const unsigned int G4toCMSLegacyProcTypeMap::processId(unsigned int g4ProcessId) const {
0060   MapType::const_iterator it = m_map.find(g4ProcessId);
0061 
0062   if (it == m_map.end()) {
0063     edm::LogError("UnknownProcessType") << "Encountered an unknown process type: " << g4ProcessId
0064                                         << ". Mapping it to 'Undefined'.";
0065     return CMS::Undefined;
0066   } else
0067     return it->second;
0068 }