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 "GPUDataTypesConfig.h"
28
29#include "TStopwatch.h"
30
31namespace o2::gpu
32{
33class GPUReconstruction;
34class GPUChainITS;
35} // namespace o2::gpu
36
37namespace o2::its
38{
39
41{
42 public:
43 TrackerDPL(std::shared_ptr<o2::base::GRPGeomRequest> gr,
44 bool isMC,
45 int trgType,
47 const bool overrBeamEst = false,
49 ~TrackerDPL() override = default;
50 void init(framework::InitContext& ic) final;
51 void run(framework::ProcessingContext& pc) final;
53 void finaliseCCDB(framework::ConcreteDataMatcher& matcher, void* obj) final;
54 void stop() final;
55
56 private:
57 void end();
58 void updateTimeDependentParams(framework::ProcessingContext& pc);
59 std::unique_ptr<o2::gpu::GPUReconstruction> mRecChain = nullptr;
60 std::unique_ptr<o2::gpu::GPUChainITS> mChainITS = nullptr;
61 std::shared_ptr<o2::base::GRPGeomRequest> mGGCCDBRequest;
62 ITSTrackingInterface mITSTrackingInterface;
63 TStopwatch mTimer;
64};
65
66framework::DataProcessorSpec getTrackerSpec(bool useMC, bool useGeom, int useTrig, TrackingMode::Type trMode, const bool overrBeamEst = false, o2::gpu::gpudatatypes::DeviceType dType = o2::gpu::gpudatatypes::DeviceType::CPU);
67
68} // namespace o2::its
69
70#endif /* O2_ITS_TRACKERDPL */
Definition of the ClusterTopology class.
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
void run(framework::ProcessingContext &pc) final
GLuint GLuint end
Definition glcorearb.h:469
framework::DataProcessorSpec getTrackerSpec(bool useMC, bool useGeom, int useTrig, TrackingMode::Type trMode, const bool overrBeamEst=false, o2::gpu::gpudatatypes::DeviceType dType=o2::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.