Project
Loading...
Searching...
No Matches
TPCSectorDigitization.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 STEER_DIGITIZERWORKFLOW_TPCSECTORDIGITIZATION_H_
13#define STEER_DIGITIZERWORKFLOW_TPCSECTORDIGITIZATION_H_
14
15#include <functional>
16#include <vector>
17#include <RtypesCore.h>
26#include "Framework/InputSpec.h"
27
28class TChain;
29
30namespace o2
31{
32namespace steer
33{
34class DigitizationContext;
35}
36namespace framework
37{
38class InitContext;
39class ProcessingContext;
40} // namespace framework
41namespace tpc
42{
43class Digitizer;
44
47 std::vector<Digit> digits;
49 std::vector<CommonMode> commonMode;
50};
51
54std::vector<dataformats::RangeReference<int, int>> digitizeSector(Digitizer& digitizer, const steer::DigitizationContext& context,
55 const std::vector<TChain*>& simChains, int sector, ULong64_t timeframe,
56 SectorFlushBuffers& buffers, const std::function<void()>& onFlush);
57
60{
61 public:
63 static std::vector<framework::ConfigParamSpec> options();
65 static void addInputs(std::vector<framework::InputSpec>& inputs, int distortionType);
66
67 void init(framework::InitContext& ic, int distortionType);
72 void update(framework::ProcessingContext& pc, Digitizer& digitizer, const std::function<void(float, float)>& setVDrift);
73
74 private:
75 VDriftHelper mVDriftHelper{};
76 int mDistortionType = 0;
77 bool mUseCalibrationsFromCCDB = false;
78 bool mRecalcDistortions = false;
79 float mMeanLumiDistortions = -1;
80 float mMeanLumiDistortionsDerivative = -1;
81};
82
83} // namespace tpc
84} // namespace o2
85
86#endif
Definition of the common mode container class.
Definition of the TPC Digit.
configStandalone Light OpenGL display display_light Apply smoothing to points Enable Z buffer Highlight links Highlight seeds Highlight sector tracks Highlight final tracks Show individual sector
Timeframe settings Average distance in cm of events merged into timeframe
Definition of a container to keep Monte Carlo truth external to simulation objects.
Class to refer to the 1st entry and N elements of some group in the continuous container.
Digitizer digitizer
Helper class to extract VDrift from different sources.
CCDB conditions and calibration files of the TPC digitizer devices.
static void addInputs(std::vector< framework::InputSpec > &inputs, int distortionType)
CCDB inputs common to the TPC digitizer devices.
bool finaliseCCDB(framework::ConcreteDataMatcher &matcher, void *obj, Digitizer &digitizer)
pass a CCDB object to the digitizer; true if it was a TPC condition
static std::vector< framework::ConfigParamSpec > options()
options common to the TPC digitizer devices
void init(framework::InitContext &ic, int distortionType)
void update(framework::ProcessingContext &pc, Digitizer &digitizer, const std::function< void(float, float)> &setVDrift)
std::vector< dataformats::RangeReference< int, int > > digitizeSector(Digitizer &digitizer, const steer::DigitizationContext &context, const std::vector< TChain * > &simChains, int sector, ULong64_t timeframe, SectorFlushBuffers &buffers, const std::function< void()> &onFlush)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
Output buffers of one flush of a sector.
std::vector< CommonMode > commonMode
dataformats::MCTruthContainer< MCCompLabel > labels