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_ITS3_TRACKERDPL
15#define O2_ITS3_TRACKERDPL
16
20
22#include "Framework/Task.h"
23
25
26#include "GPUDataTypes.h"
28
29#include "TStopwatch.h"
30
31namespace o2::its3
32{
33
35{
36 public:
37 TrackerDPL(std::shared_ptr<o2::base::GRPGeomRequest> gr,
38 bool isMC,
39 int trgType,
41 const bool overrBeamEst = false,
42 gpu::GPUDataTypes::DeviceType dType = gpu::GPUDataTypes::DeviceType::CPU);
43 ~TrackerDPL() override = default;
44 TrackerDPL(const TrackerDPL&) = delete;
46 TrackerDPL& operator=(const TrackerDPL&) = delete;
48
49 void init(framework::InitContext& ic) final;
50 void run(framework::ProcessingContext& pc) final;
52 void finaliseCCDB(framework::ConcreteDataMatcher& matcher, void* obj) final;
53 void stop() final;
54
55 private:
56 void updateTimeDependentParams(framework::ProcessingContext& pc);
57 std::unique_ptr<o2::gpu::GPUReconstruction> mRecChain = nullptr;
58 std::unique_ptr<o2::gpu::GPUChainITS> mChainITS = nullptr;
59 std::shared_ptr<o2::base::GRPGeomRequest> mGGCCDBRequest;
60 ITS3TrackingInterface mITS3TrackingInterface;
61 TStopwatch mTimer;
62};
63
66framework::DataProcessorSpec getTrackerSpec(bool useMC, bool useGeom, int useTrig, const std::string& trMode, const bool overrBeamEst = false, gpu::GPUDataTypes::DeviceType dType = gpu::GPUDataTypes::DeviceType::CPU);
67
68} // namespace o2::its3
69
70#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 run(framework::ProcessingContext &pc) final
TrackerDPL & operator=(TrackerDPL &&)=delete
void init(framework::InitContext &ic) final
TrackerDPL & operator=(const TrackerDPL &)=delete
TrackerDPL(std::shared_ptr< o2::base::GRPGeomRequest > gr, bool isMC, int trgType, const its::TrackingMode &trMode=its::TrackingMode::Unset, const bool overrBeamEst=false, gpu::GPUDataTypes::DeviceType dType=gpu::GPUDataTypes::DeviceType::CPU)
void endOfStream(framework::EndOfStreamContext &ec) final
This is invoked whenever we have an EndOfStream event.
void stop() final
This is invoked on stop.
TrackerDPL(TrackerDPL &&)=delete
void finaliseCCDB(framework::ConcreteDataMatcher &matcher, void *obj) final
TrackerDPL(const TrackerDPL &)=delete
~TrackerDPL() override=default
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.