Project
Loading...
Searching...
No Matches
OutputObjHeader.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_FRAMEWORK_OUTPUTOBJHEADER_H_
13#define O2_FRAMEWORK_OUTPUTOBJHEADER_H_
14
15#include "Headers/DataHeader.h"
16
18
19namespace o2::framework
20{
21
29
35
38struct OutputObjHeader : public BaseHeader {
39 constexpr static const uint32_t sVersion = 1;
40 constexpr static const uint32_t MAX_REGISTRY_NAME_SIZE = 128;
41 constexpr static const o2::header::HeaderType sHeaderType = "OutObjMD";
45 uint32_t mTaskHash;
46 uint16_t mPipelineIndex = 0;
47 uint16_t mPipelineSize = 1;
48 // Name of the actual container for the object, e.g. the HistogramRegistry name
50 // Wether or not the container should have a name
51 char createContainer = false;
52
58 constexpr OutputObjHeader(OutputObjHandlingPolicy policy, OutputObjSourceType sourceType, uint32_t hash, uint16_t pipelineIndex, uint16_t pipelineSize)
60 mPolicy{policy},
61 mSourceType{sourceType},
62 mTaskHash{hash},
63 mPipelineIndex{pipelineIndex},
64 mPipelineSize{pipelineSize} {}
65 constexpr OutputObjHeader(OutputObjHeader const&) = default;
66};
67
68} // namespace o2::framework
69
70#endif // O2_FRAMEWORK_OUTPUTOBJHEADER_H_
Defining PrimaryVertex explicitly as messageable.
Definition TFIDInfo.h:20
OutputObjHandlingPolicy
Policy enum to determine OutputObj handling when writing.
constexpr o2::header::SerializationMethod gSerializationMethodNone
Definition DataHeader.h:327
O2 header for OutputObj metadata.
char containerName[MAX_REGISTRY_NAME_SIZE]
static constexpr const o2::header::HeaderType sHeaderType
static constexpr const o2::header::SerializationMethod sSerializationMethod
OutputObjSourceType mSourceType
static constexpr const uint32_t sVersion
OutputObjHandlingPolicy mPolicy
constexpr OutputObjHeader(OutputObjHandlingPolicy policy, OutputObjSourceType sourceType, uint32_t hash, uint16_t pipelineIndex, uint16_t pipelineSize)
static constexpr const uint32_t MAX_REGISTRY_NAME_SIZE
constexpr OutputObjHeader(OutputObjHeader const &)=default
the base header struct Every header type must begin (i.e. derive) with this. Don't use this struct di...
Definition DataHeader.h:351