SLIC  6.1.1
Simulation for the Linear Collider (SLIC) - Geant4 simulation application
LHEEvent.cc
Go to the documentation of this file.
1 #include "LHEEvent.hh"
2 
3 // Geant4
4 #include "globals.hh"
5 
6 // STL
7 #include <iostream>
8 #include <sstream>
9 #include <stdexcept>
10 
11 namespace slic {
12 
13  LHEEvent::LHEEvent(std::string& line) {
14 
15  std::istringstream iss(line);
16  std::vector<std::string> tokens;
17  do {
18  std::string elem;
19  iss >> elem;
20  if (elem.size() != 0) {
21  tokens.push_back(elem);
22  }
23  } while (iss);
24 
25  if (tokens.size() != 6) {
26  std::cerr << "ERROR: Bad event information record in LHE file ..." << std::endl;
27  std::cerr << " " << line << std::endl;
28  G4Exception("LHEEvent::LHEEvent", "LHEEventError", FatalException, "Wrong number of tokens in LHE event information record.");
29  }
30 
31  nup_ = atoi(tokens[0].c_str());
32  idprup_ = atoi(tokens[1].c_str());
33  xwgtup_ = atof(tokens[2].c_str());
34  scalup_ = atof(tokens[3].c_str());
35  aqedup_ = atof(tokens[4].c_str());
36  aqcdup_ = atof(tokens[5].c_str());
37  }
38 
40  for (std::vector<LHEParticle*>::iterator it = particles_.begin(); it != particles_.end(); it++) {
41  delete (*it);
42  }
43  particles_.clear();
44  }
45 
47  return nup_;
48  }
49 
51  return idprup_;
52  }
53 
55  return xwgtup_;
56  }
57 
59  return scalup_;
60  }
61 
63  return aqedup_;
64  }
65 
67  return aqcdup_;
68  }
69 
71  particles_.push_back(particle);
72  }
73 
74  const std::vector<LHEParticle*>& LHEEvent::getParticles() {
75  return particles_;
76  }
77 
78 }
double aqcdup_
Definition: LHEEvent.hh:119
LHEEvent(std::string &data)
Definition: LHEEvent.cc:13
double getXWGTUP()
Definition: LHEEvent.cc:54
int getNUP()
Definition: LHEEvent.cc:46
double getAQCDUP()
Definition: LHEEvent.cc:66
double aqedup_
Definition: LHEEvent.hh:114
std::vector< LHEParticle * > particles_
Definition: LHEEvent.hh:124
double getSCALUP()
Definition: LHEEvent.cc:58
double xwgtup_
Definition: LHEEvent.hh:104
void addParticle(LHEParticle *particle)
Definition: LHEEvent.cc:70
virtual ~LHEEvent()
Definition: LHEEvent.cc:39
const std::vector< LHEParticle * > & getParticles()
Definition: LHEEvent.cc:74
double getAQEDUP()
Definition: LHEEvent.cc:62
int getIDPRUP()
Definition: LHEEvent.cc:50
double scalup_
Definition: LHEEvent.hh:109
Single particle record in an LHE event.
Definition: LHEParticle.hh:20
@ endl
Definition: LogStream.hh:26