9 std::vector<triggeredSignals>& vEventList)
11 vEventList.insert(vEventList.end(), vTriggeredDom.begin(), vTriggeredDom.end());
16 std::vector<triggeredSignals>& vFinalEvent,
20 sort(vTrigSignals.begin(), vTrigSignals.end());
22 std::vector<signals> vEventSignals;
23 vEventSignals.clear();
24 for (
unsigned int dom1 = 0; dom1 < vTrigSignals.size() - 1; ++dom1) {
25 if (vTrigSignals.size() == 0)
break;
26 const int domId1 = vTrigSignals[dom1].GetSignals()[0].GetDomId();
28 for (
unsigned int dom2 = dom1 + 1; dom2 < vTrigSignals.size(); ++dom2) {
29 const int domId2 = vTrigSignals[dom2].GetSignals()[0].GetDomId();
31 if (domId1 == domId2)
continue;
32 const long long int time1 = vTrigSignals[dom1].GetSignals()[0].GetStart();
33 const long long int time2 = vTrigSignals[dom2].GetSignals()[0].GetStart();
35 if (fabs(time1 - time2) > domTimeWindow)
break;
36 for (
unsigned int j = 0; j < vTrigSignals[dom1].GetSignals().size(); ++j)
37 vEventSignals.push_back(vTrigSignals[dom1].GetSignals()[j]);
38 for (
unsigned int j = 0; j < vTrigSignals[dom2].GetSignals().size(); ++j)
39 vEventSignals.push_back(vTrigSignals[dom2].GetSignals()[j]);
42 vFinalEvent.push_back(trigEv);
43 vEventSignals.clear();
44 skipped = dom2 - dom1 - 1;
47 if (dom1 + skipped >= vTrigSignals.size())
break;
55 std::vector<triggeredSignals>& vFinalEvent,
58 sort(vEventList.begin(), vEventList.end());
59 std::vector<signals> vEventSignals;
60 vEventSignals.clear();
61 for (
unsigned int i = 0; i < vEventList.size() - 1; ++i) {
62 if (vEventList.size() == 0)
break;
63 const int dom1 = vEventList[i].GetSignals()[0].GetDomId();
64 const int dom2 = vEventList[i + 1].GetSignals()[0].GetDomId();
66 const long long int time1 = vEventList[i].GetSignals()[0].GetStart();
67 const long long int time2 = vEventList[i + 1].GetSignals()[0].GetStart();
68 if (fabs(time1 - time2) < domTimeWindow) {
69 for (
unsigned int j = 0; j < vEventList[i].GetSignals().size(); ++j)
70 vEventSignals.push_back(vEventList[i].GetSignals()[j]);
71 for (
unsigned int j = 0; j < vEventList[i + 1].GetSignals().size(); ++j)
72 vEventSignals.push_back(vEventList[i + 1].GetSignals()[j]);
76 vFinalEvent.push_back(trigEv);
77 vEventSignals.clear();
82 vFinalEvent.push_back(trigEv);
83 vEventSignals.clear();
void Do2DomTrigger(std::vector< triggeredSignals > &vTrigSignals, std::vector< triggeredSignals > &vFinalEvent, const int domTimeWindow)
void AddDom2Event(std::vector< triggeredSignals > &vTriggeredDom, std::vector< triggeredSignals > &vEventList)
to come...
void SetSignals(const std::vector< signals > vSig)
make the event trigger (coincidence between doms)
void DoEventTrigger(std::vector< triggeredSignals > &vEventList, std::vector< triggeredSignals > &vFinalEvent, const int domTimeWindow)