Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:30:14

0001 #include "SimG4Core/Application/interface/CustomUIsessionThreadPrefix.h"
0002 
0003 CustomUIsessionThreadPrefix::CustomUIsessionThreadPrefix(const std::string& threadPrefix, int threadId)
0004     : CustomUIsession(), m_threadPrefix(threadPrefix + std::to_string(threadId) + ">> ") {}
0005 
0006 CustomUIsessionThreadPrefix::~CustomUIsessionThreadPrefix() {}
0007 
0008 namespace {
0009   std::string addThreadPrefix(const std::string& threadPrefix, const std::string str) {
0010     // Add thread prefix to each line beginning
0011     std::string ret;
0012     std::string::size_type beg = 0;
0013     std::string::size_type end = str.find('\n');
0014     while (end != std::string::npos) {
0015       ret += threadPrefix + str.substr(beg, end - beg) + "\n";
0016       beg = end + 1;
0017       end = str.find('\n', beg);
0018     }
0019     ret += threadPrefix + str.substr(beg, end);
0020     return ret;
0021   }
0022 }  // namespace
0023 
0024 G4int CustomUIsessionThreadPrefix::ReceiveG4cout(const G4String& coutString) {
0025   //edm::LogInfo("G4cout") << addThreadPrefix(m_threadPrefix, trim(coutString));
0026   edm::LogVerbatim("G4cout") << addThreadPrefix(m_threadPrefix, trim(coutString));
0027   return 0;
0028 }
0029 
0030 G4int CustomUIsessionThreadPrefix::ReceiveG4cerr(const G4String& cerrString) {
0031   edm::LogWarning("G4cerr") << addThreadPrefix(m_threadPrefix, trim(cerrString));
0032   return 0;
0033 }