Project
Loading...
Searching...
No Matches
RawDecoderSpec.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 O2_CTP_RAWDECODER_H
13#define O2_CTP_RAWDECODER_H
14
15#include <vector>
16#include <deque>
18#include "Framework/Task.h"
23
24namespace o2
25{
26namespace ctp
27{
28namespace reco_workflow
29{
30
36{
37 public:
40 RawDecoderSpec(bool digits, bool lumi) : mDoDigits(digits), mDoLumi(lumi) {}
42 ~RawDecoderSpec() override = default;
45 void init(framework::InitContext& ctx) final;
53 void run(framework::ProcessingContext& ctx) final;
55
56 protected:
57 private:
58 // for digits
59 bool mDoDigits = true;
60 o2::pmr::vector<CTPDigit> mOutputDigits;
61 int mMaxInputSize = 0;
62 bool mMaxInputSizeFatal = 0;
63 // for lumi
64 bool mDoLumi = true;
65 //
66 LumiInfo mOutputLumiInfo;
67 bool mVerbose = false;
68 uint64_t mCountsT = 0;
69 uint64_t mCountsV = 0;
70 uint32_t mNTFToIntegrate = 1;
71 uint32_t mNHBIntegratedT = 0;
72 uint32_t mNHBIntegratedV = 0;
73 bool mDecodeinputs = 0;
74 std::deque<size_t> mHistoryT;
75 std::deque<size_t> mHistoryV;
76 RawDataDecoder mDecoder;
77};
78
82
83} // namespace reco_workflow
84
85} // namespace ctp
86
87} // namespace o2
88
89#endif
definition of CTPDigit, CTPInputDigit
Digits tw Raw translation.
Coverter task for Raw data to CTP digits.
void endOfStream(o2::framework::EndOfStreamContext &ec) final
This is invoked whenever we have an EndOfStream event.
void updateTimeDependentParams(framework::ProcessingContext &pc)
void init(framework::InitContext &ctx) final
Initializing the RawDecoderSpec.
~RawDecoderSpec() override=default
Destructor.
RawDecoderSpec(bool digits, bool lumi)
Constructor.
void run(framework::ProcessingContext &ctx) final
Run conversion of raw data to cells.
o2::framework::DataProcessorSpec getRawDecoderSpec(bool askSTFDist, bool digits, bool lumi)
Creating DataProcessorSpec for the CTP.
std::vector< T, o2::pmr::polymorphic_allocator< T > > vector
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
LumiInfo lumi
std::vector< Digit > digits