29 double currentTime = 0;
31 VERBOSESHOWER(8) <<
"Hard Parton from Initial Hard Process ...";
37 vector<Parton> pInTemp;
38 vector<Parton> pOutTemp;
39 vector<Parton> pInTempModule;
41 vector<node> vStartVec;
42 vector<node> vStartVecOut;
43 vector<node> vStartVecTemp;
51 vStart = j.
GetShower()->new_vertex(make_shared<Vertex>());
52 vEnd = j.
GetShower()->new_vertex(make_shared<Vertex>());
57 vStartVec.push_back(vEnd);
62 REMARK <<
"DoShower() Splitting including time evolution (allowing "
63 "non-splits at later times) implemeted correctly (should be made "
64 "nicer/pointers). To be checked!!!";
69 VERBOSESHOWER(7) <<
"Current time = " << currentTime <<
" with #Input "
75 for (
int i = 0;
i < pIn.size();
i++) {
79 pInTemp.push_back(pIn[
i]);
80 pInTempModule.push_back(pIn[i]);
85 vStart = vStartVec[
i];
86 vStartVecTemp.push_back(vStart);
91 for (
int k = 0;
k < pOutTemp.size();
k++) {
93 make_shared<Vertex>(0, 0, 0, currentTime));
95 make_shared<Parton>(pOutTemp[
k]));
103 vStartVecOut.push_back(vEnd);
104 pOut.push_back(pOutTemp[k]);
115 if (pInTempModule.size() > 1) {
117 <<
" new root node(s) to be added ...";
120 for (
int l = 1; l < pInTempModule.size(); l++) {
122 make_shared<Vertex>(0, 0, 0, currentTime - j.
GetDeltaT()));
123 j.
GetShower()->new_parton(vNewRootNode, vEnd,
124 make_shared<Parton>(pInTempModule[l]));
131 vStartVecTemp.pop_back();
137 pInTempModule.clear();
144 pIn.insert(pIn.end(), pInTemp.begin(), pInTemp.end());
145 pIn.insert(pIn.end(), pOut.begin(), pOut.end());
152 vStartVec.insert(vStartVec.end(), vStartVecTemp.begin(),
153 vStartVecTemp.end());
154 vStartVec.insert(vStartVec.end(), vStartVecOut.begin(), vStartVecOut.end());
156 vStartVecOut.clear();
157 vStartVecTemp.clear();
158 }
while (currentTime < j.
GetMaxT());