CMS 3D CMS Logo

PdgEntryReplacer.cc
Go to the documentation of this file.
3 #include <sstream>
4 using namespace std;
5 
6 string PdgEntryReplacer::replace(const string& in) const {
7  string out = in;
8  for (;;) {
9  size_t p1 = out.find_first_of('{');
10  if (p1 == string::npos)
11  break;
12  size_t p2 = out.find_first_of('}', p1 + 1);
13  if (p2 == string::npos)
14  break;
15  size_t n = p2 - p1 - 1;
16  string name(out, p1 + 1, n);
17  PdtEntry particle(name);
18  particle.setup(*es_);
19  ostringstream o;
20  o << particle.pdgId();
21  string s = o.str();
22  out.replace(p1, n + 2, s);
23  }
24  return out;
25 }
std::string replace(const std::string &) const
double p2[4]
Definition: TauolaWrapper.h:90
void setup(const edm::EventSetup &)
fill data from Event Setup
Definition: PdtEntry.cc:28
double p1[4]
Definition: TauolaWrapper.h:89
int pdgId() const
PDG id.
Definition: PdtEntry.cc:7