The Gaudi Framework
master (53dee381)
Toggle main menu visibility
Loading...
Searching...
No Matches
NTupleWriterImpls.cpp
Go to the documentation of this file.
1
/***********************************************************************************\
2
* (c) Copyright 2024-2026 CERN for the benefit of the LHCb and ATLAS collaborations *
3
* *
4
* This software is distributed under the terms of the Apache version 2 licence, *
5
* copied verbatim in the file "LICENSE". *
6
* *
7
* In applying this licence, CERN does not waive the privileges and immunities *
8
* granted to it by virtue of its status as an Intergovernmental Organization *
9
* or submit itself to any jurisdiction. *
10
\***********************************************************************************/
11
#include <
Gaudi/NTuple/Writer.h
>
12
#include <numeric>
13
#include <tuple>
14
15
namespace
Gaudi::TestSuite::NTuple
{
16
struct
NTupleSimpleWriter_V
:
Gaudi::NTuple::SimpleWriter
<std::tuple<int, size_t, float>( const std::vector<int>& )> {
17
NTupleSimpleWriter_V
(
const
std::string& name,
ISvcLocator
* svcLoc )
18
:
SimpleWriter
( name, svcLoc, {
"InputLocation"
,
"MyVector"
} ) {}
19
20
void
operator()
( std::vector<int>
const
&
vector
)
const override
{
21
for
(
size_t
index = 0;
auto
& v :
vector
) { fillTree( { v, index++, std::rand() % 20 } ); }
22
}
23
};
24
25
DECLARE_COMPONENT
( NTupleSimpleWriter_V )
26
27
struct
NTupleWriter_V
:
Gaudi
::
NTuple
::
Writer
<
std
::tuple<
int
,
size_t
,
float
>( const
std
::
vector
<
int
>& )> {
28
NTupleWriter_V
(
const
std::string& name,
ISvcLocator
* svcLoc )
29
:
Writer
( name, svcLoc, {
"InputLocation"
,
"MyVector"
} ) {}
30
31
std::tuple<int, size_t, float>
transform
(
const
std::vector<int>&
vector
)
const override
{
32
return
std::make_tuple( std::accumulate(
vector
.begin(),
vector
.end(), 0 ),
vector
.size(), std::rand() % 20 );
33
}
34
};
35
36
DECLARE_COMPONENT
( NTupleWriter_V )
37
38
}
// namespace Gaudi::TestSuite::NTuple
DECLARE_COMPONENT
#define DECLARE_COMPONENT(type)
Definition
PluginServiceV1.h:45
Writer.h
ISvcLocator
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition
ISvcLocator.h:42
vector
STL class.
Gaudi::TestSuite::NTuple
Definition
MyStruct.h:15
Gaudi
This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from p...
Definition
__init__.py:1
NTuple
NTuple name space.
Definition
INTupleSvc.h:16
std
STL namespace.
Gaudi::NTuple::SimpleWriter
Base template for NTuple::Writer.
Definition
Writer.h:145
Gaudi::NTuple::SimpleWriter< std::tuple< int, size_t, float >(const std::vector< int > &)>::SimpleWriter
SimpleWriter()=delete
Gaudi::NTuple::Writer< std::tuple< int, size_t, float >(const std::vector< int > &)>::Writer
Writer()=delete
Gaudi::TestSuite::NTuple::NTupleSimpleWriter_V::NTupleSimpleWriter_V
NTupleSimpleWriter_V(const std::string &name, ISvcLocator *svcLoc)
Definition
NTupleWriterImpls.cpp:17
Gaudi::TestSuite::NTuple::NTupleSimpleWriter_V::operator()
void operator()(std::vector< int > const &vector) const override
Definition
NTupleWriterImpls.cpp:20
Gaudi::TestSuite::NTuple::NTupleWriter_V::transform
std::tuple< int, size_t, float > transform(const std::vector< int > &vector) const override
Definition
NTupleWriterImpls.cpp:31
Gaudi::TestSuite::NTuple::NTupleWriter_V::NTupleWriter_V
NTupleWriter_V(const std::string &name, ISvcLocator *svcLoc)
Definition
NTupleWriterImpls.cpp:28
GaudiTestSuite
src
NTuple
NTupleWriterImpls.cpp
Generated on
for The Gaudi Framework by
1.17.0