Project
Loading...
Searching...
No Matches
TrackerSpec.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
13
14#ifndef O2_TRK_TRACKERDPL
15#define O2_TRK_TRACKERDPL
16
18
20#include "Framework/Task.h"
21
22#include <oneapi/tbb/task_arena.h>
23
26#include "GPUDataTypesConfig.h"
27
29
30#include "TStopwatch.h"
31
32#include <nlohmann/json.hpp>
33
34namespace o2::trk
35{
37{
38 public:
39 TrackerDPL(std::shared_ptr<o2::base::GRPGeomRequest> gr,
40 bool isMC,
41 const std::string& hitRecoConfig,
43 ~TrackerDPL() override = default;
44 void init(framework::InitContext& ic) final;
45 void run(framework::ProcessingContext& pc) final;
47 // void finaliseCCDB(framework::ConcreteDataMatcher& matcher, void* obj) final;
48 void stop() final;
49
50 private:
51 void updateTimeDependentParams(framework::ProcessingContext& pc);
52 std::vector<o2::its::TrackingParameters> createTrackingParamsFromConfig();
53 // std::unique_ptr<o2::gpu::GPUReconstruction> mRecChain = nullptr;
54 // std::unique_ptr<o2::gpu::GPUChainITS> mChainITS = nullptr;
55 // std::shared_ptr<o2::base::GRPGeomRequest> mGGCCDBRequest;
56 // ITSTrackingInterface mITSTrackingInterface;
57 std::shared_ptr<its::BoundedMemoryResource> mMemoryPool;
58 std::shared_ptr<tbb::task_arena> mTaskArena;
59 nlohmann::json mHitRecoConfig;
60 TStopwatch mTimer;
61};
62
63framework::DataProcessorSpec getTrackerSpec(bool useMC, const std::string& hitRecoConfig, gpu::gpudatatypes::DeviceType dType = gpu::gpudatatypes::DeviceType::CPU);
64
65} // namespace o2::trk
66#endif /* O2_TRK_TRACKERDPL */
Definition of the ClusterTopology class.
Helper for geometry and GRP related CCDB requests.
nlohmann::json json
void endOfStream(framework::EndOfStreamContext &ec) final
This is invoked whenever we have an EndOfStream event.
void run(framework::ProcessingContext &pc) final
void stop() final
This is invoked on stop.
~TrackerDPL() override=default
void init(framework::InitContext &ic) final
framework::DataProcessorSpec getTrackerSpec(bool useMC, const std::string &hitRecoConfig, gpu::gpudatatypes::DeviceType dType=gpu::gpudatatypes::DeviceType::CPU)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
Defining DataPointCompositeObject explicitly as copiable.