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_ITS_TRACKERDPL
15#define O2_ITS_TRACKERDPL
16
20
22#include "Framework/Task.h"
23
25
26#include "GPUDataTypes.h"
28
29#include "TStopwatch.h"
30
31namespace o2
32{
33namespace its
34{
35
37{
38 public:
39 TrackerDPL(std::shared_ptr<o2::base::GRPGeomRequest> gr,
40 bool isMC,
41 int trgType,
42 const TrackingMode& trMode = TrackingMode::Unset,
43 const bool overrBeamEst = false,
44 gpu::GPUDataTypes::DeviceType dType = gpu::GPUDataTypes::DeviceType::CPU);
45 ~TrackerDPL() override = default;
46 void init(framework::InitContext& ic) final;
47 void run(framework::ProcessingContext& pc) final;
49 void finaliseCCDB(framework::ConcreteDataMatcher& matcher, void* obj) final;
50 void stop() final;
51
52 private:
53 void updateTimeDependentParams(framework::ProcessingContext& pc);
54 std::unique_ptr<o2::gpu::GPUReconstruction> mRecChain = nullptr;
55 std::unique_ptr<o2::gpu::GPUChainITS> mChainITS = nullptr;
56 std::shared_ptr<o2::base::GRPGeomRequest> mGGCCDBRequest;
57 ITSTrackingInterface mITSTrackingInterface;
58 TStopwatch mTimer;
59};
60
61using o2::its::TrackingMode;
62framework::DataProcessorSpec getTrackerSpec(bool useMC, bool useGeom, int useTrig, const std::string& trMode, const bool overrBeamEst = false, gpu::GPUDataTypes::DeviceType dType = gpu::GPUDataTypes::DeviceType::CPU);
63
64} // namespace its
65} // namespace o2
66
67#endif /* O2_ITS_TRACKERDPL */
Definition of the ClusterTopology class.
CPU
Helper for geometry and GRP related CCDB requests.
Header of the General Run Parameters object.
void stop() final
This is invoked on stop.
void init(framework::InitContext &ic) final
void finaliseCCDB(framework::ConcreteDataMatcher &matcher, void *obj) final
void endOfStream(framework::EndOfStreamContext &ec) final
This is invoked whenever we have an EndOfStream event.
~TrackerDPL() override=default
TrackerDPL(std::shared_ptr< o2::base::GRPGeomRequest > gr, bool isMC, int trgType, const TrackingMode &trMode=TrackingMode::Unset, const bool overrBeamEst=false, gpu::GPUDataTypes::DeviceType dType=gpu::GPUDataTypes::DeviceType::CPU)
void run(framework::ProcessingContext &pc) final
framework::DataProcessorSpec getTrackerSpec(bool useMC, bool useGeom, int useTrig, const std::string &trMode, const bool overrBeamEst=false, 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.