Project
Loading...
Searching...
No Matches
IRFrameFilter.cxx
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
14
17
18namespace o2::mch
19{
20ROFFilter createIRFrameFilter(gsl::span<const o2::dataformats::IRFrame> irframes)
21{
22 return [irframes](const ROFRecord& rof) {
23 InteractionRecord rofStart{rof.getBCData()};
24 InteractionRecord rofEnd = rofStart + rof.getBCWidth() - 1;
25 IRFrame ref(rofStart, rofEnd);
26 for (const auto& ir : irframes) {
27 if (ir.info > 0) {
28 auto overlap = ref.getOverlap(ir);
29 if (overlap.isValid()) {
30 return true;
31 }
32 }
33 }
34 return false;
35 };
36}
37} // namespace o2::mch
GLint ref
Definition glcorearb.h:291
std::function< bool(const ROFRecord &)> ROFFilter
Definition ROFFilter.h:25
ROFFilter createIRFrameFilter(gsl::span< const o2::dataformats::IRFrame > irframes)
o2::InteractionRecord ir(0, 0)