Project
Loading...
Searching...
No Matches
O2GPUDPLDisplay.h
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
12#ifndef O2_GPU_DPL_DISPLAY_H
13#define O2_GPU_DPL_DISPLAY_H
14
17#include "Framework/Task.h"
18#include <memory>
19
20namespace o2::base
21{
22struct GRPGeomRequest;
23}
24namespace o2::trd
25{
26class GeometryFlat;
27}
28namespace o2::globaltracking
29{
30struct DataRequest;
31}
32namespace o2::itsmft
33{
34class TopologyDictionary;
35}
36
37namespace o2::gpu
38{
39class GPUO2InterfaceDisplay;
40struct GPUO2InterfaceConfiguration;
41class TPCFastTransformPOD;
42struct GPUSettingsTF;
43struct GPUSettingsO2;
44
46{
47 public:
48 O2GPUDPLDisplaySpec(bool useMC, o2::dataformats::GlobalTrackID::mask_t trkMask, o2::dataformats::GlobalTrackID::mask_t clMask, std::shared_ptr<o2::globaltracking::DataRequest> dataRequest, std::shared_ptr<o2::base::GRPGeomRequest> ggr) : mUseMC(useMC), mTrkMask(trkMask), mClMask(clMask), mDataRequest(dataRequest), mGGR(ggr) {}
49 ~O2GPUDPLDisplaySpec() override = default;
50 void init(o2::framework::InitContext& ic) final;
53 void finaliseCCDB(o2::framework::ConcreteDataMatcher& matcher, void* obj) final;
54
55 private:
56 bool mUseMC = false;
57 bool mUpdateCalib = false;
58 bool mDisplayShutDown = false;
59 bool mDisplayStarted = false;
60 bool mGRPGeomUpdated = false;
61 bool mAutoContinuousMaxTimeBin = false;
62 bool mGeometryCreated = false;
66 std::unique_ptr<GPUO2InterfaceDisplay> mDisplay;
67 std::unique_ptr<GPUO2InterfaceConfiguration> mConfig;
68 std::unique_ptr<GPUSettingsO2> mConfParam;
69 const o2::gpu::TPCFastTransformPOD* mFastTransform = nullptr;
70 std::unique_ptr<o2::trd::GeometryFlat> mTrdGeo;
71 std::unique_ptr<o2::itsmft::TopologyDictionary> mITSDict;
72 std::shared_ptr<o2::globaltracking::DataRequest> mDataRequest;
73 std::unique_ptr<o2::gpu::GPUSettingsTF> mTFSettings;
74 std::shared_ptr<o2::base::GRPGeomRequest> mGGR;
75};
76
77} // namespace o2::gpu
78
79#endif
Global index for barrel track: provides provenance (detectors combination), index in respective array...
void run(o2::framework::ProcessingContext &pc) final
void finaliseCCDB(o2::framework::ConcreteDataMatcher &matcher, void *obj) final
O2GPUDPLDisplaySpec(bool useMC, o2::dataformats::GlobalTrackID::mask_t trkMask, o2::dataformats::GlobalTrackID::mask_t clMask, std::shared_ptr< o2::globaltracking::DataRequest > dataRequest, std::shared_ptr< o2::base::GRPGeomRequest > ggr)
void init(o2::framework::InitContext &ic) final
void endOfStream(o2::framework::EndOfStreamContext &ec) final
This is invoked whenever we have an EndOfStream event.
~O2GPUDPLDisplaySpec() override=default