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
17
using
BaseHeader
=
o2::header::BaseHeader
;
18
19
namespace
o2::framework
20
{
21
23
enum
OutputObjHandlingPolicy
:
unsigned
int
{
24
AnalysisObject
,
25
QAObject
,
26
TransientObject
,
27
numPolicies
28
};
29
30
enum
OutputObjSourceType
:
unsigned
int
{
31
OutputObjSource
,
32
HistogramRegistrySource
,
33
numTypes
34
};
35
38
struct
OutputObjHeader
:
public
BaseHeader
{
39
constexpr
static
const
uint32_t
sVersion
= 1;
40
constexpr
static
const
o2::header::HeaderType
sHeaderType
=
"OutObjMD"
;
41
constexpr
static
const
o2::header::SerializationMethod
sSerializationMethod
=
o2::header::gSerializationMethodNone
;
42
OutputObjHandlingPolicy
mPolicy
;
43
OutputObjSourceType
mSourceType
;
44
uint32_t
mTaskHash
;
45
uint16_t
mPipelineIndex
= 0;
46
uint16_t
mPipelineSize
= 1;
47
48
constexpr
OutputObjHeader
()
49
:
BaseHeader
(sizeof(
OutputObjHeader
),
sHeaderType
,
sSerializationMethod
,
sVersion
),
50
mPolicy
{
OutputObjHandlingPolicy
::
AnalysisObject
},
51
mSourceType
{
OutputObjSourceType
::
OutputObjSource
},
52
mTaskHash
{0} {}
53
constexpr
OutputObjHeader
(
OutputObjHandlingPolicy
policy,
OutputObjSourceType
sourceType, uint32_t hash, uint16_t pipelineIndex, uint16_t pipelineSize)
54
:
BaseHeader
(sizeof(
OutputObjHeader
),
sHeaderType
,
sSerializationMethod
,
sVersion
),
55
mPolicy
{policy},
56
mSourceType
{sourceType},
57
mTaskHash
{hash},
58
mPipelineIndex
{pipelineIndex},
59
mPipelineSize
{pipelineSize} {}
60
constexpr
OutputObjHeader
(
OutputObjHeader
const
&) =
default
;
61
};
62
63
}
// namespace o2::framework
64
65
#endif
// O2_FRAMEWORK_OUTPUTOBJHEADER_H_
DataHeader.h
o2::framework
Defining PrimaryVertex explicitly as messageable.
Definition
TFIDInfo.h:20
o2::framework::OutputObjSourceType
OutputObjSourceType
Definition
OutputObjHeader.h:30
o2::framework::OutputObjSource
@ OutputObjSource
Definition
OutputObjHeader.h:31
o2::framework::HistogramRegistrySource
@ HistogramRegistrySource
Definition
OutputObjHeader.h:32
o2::framework::numTypes
@ numTypes
Definition
OutputObjHeader.h:33
o2::framework::OutputObjHandlingPolicy
OutputObjHandlingPolicy
Policy enum to determine OutputObj handling when writing.
Definition
OutputObjHeader.h:23
o2::framework::AnalysisObject
@ AnalysisObject
Definition
OutputObjHeader.h:24
o2::framework::TransientObject
@ TransientObject
Definition
OutputObjHeader.h:26
o2::framework::numPolicies
@ numPolicies
Definition
OutputObjHeader.h:27
o2::framework::QAObject
@ QAObject
Definition
OutputObjHeader.h:25
o2::header::gSerializationMethodNone
constexpr o2::header::SerializationMethod gSerializationMethodNone
Definition
DataHeader.h:327
o2::framework::OutputObjHeader
O2 header for OutputObj metadata.
Definition
OutputObjHeader.h:38
o2::framework::OutputObjHeader::mTaskHash
uint32_t mTaskHash
Definition
OutputObjHeader.h:44
o2::framework::OutputObjHeader::mPipelineSize
uint16_t mPipelineSize
Definition
OutputObjHeader.h:46
o2::framework::OutputObjHeader::sHeaderType
static constexpr const o2::header::HeaderType sHeaderType
Definition
OutputObjHeader.h:40
o2::framework::OutputObjHeader::sSerializationMethod
static constexpr const o2::header::SerializationMethod sSerializationMethod
Definition
OutputObjHeader.h:41
o2::framework::OutputObjHeader::mSourceType
OutputObjSourceType mSourceType
Definition
OutputObjHeader.h:43
o2::framework::OutputObjHeader::sVersion
static constexpr const uint32_t sVersion
Definition
OutputObjHeader.h:39
o2::framework::OutputObjHeader::mPolicy
OutputObjHandlingPolicy mPolicy
Definition
OutputObjHeader.h:42
o2::framework::OutputObjHeader::OutputObjHeader
constexpr OutputObjHeader(OutputObjHandlingPolicy policy, OutputObjSourceType sourceType, uint32_t hash, uint16_t pipelineIndex, uint16_t pipelineSize)
Definition
OutputObjHeader.h:53
o2::framework::OutputObjHeader::mPipelineIndex
uint16_t mPipelineIndex
Definition
OutputObjHeader.h:45
o2::framework::OutputObjHeader::OutputObjHeader
constexpr OutputObjHeader()
Definition
OutputObjHeader.h:48
o2::framework::OutputObjHeader::OutputObjHeader
constexpr OutputObjHeader(OutputObjHeader const &)=default
o2::header::BaseHeader
the base header struct Every header type must begin (i.e. derive) with this. Don't use this struct di...
Definition
DataHeader.h:351
o2::header::Descriptor< gSizeHeaderDescriptionString >
Framework
Core
include
Framework
OutputObjHeader.h
Generated on Tue Feb 25 2025 17:03:20 for Project by
1.9.8