The Gaudi Framework
master (37c0b60a)
NTupleWriterImpls.cpp
Go to the documentation of this file.
1
/***********************************************************************************\
2
* (c) Copyright 2024 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
NTupleWriter_V
:
Gaudi::NTuple::Writer
<std::tuple<int, size_t, float>( const std::vector<int>& )> {
17
NTupleWriter_V
(
const
std::string
&
name
,
ISvcLocator
* svcLoc )
18
:
Writer
(
name
, svcLoc, { KeyValue(
"InputLocation"
, {
"MyVector"
} ) } ) {}
19
20
std::tuple<int, size_t, float>
transform
(
const
std::vector<int>
&
vector
)
const override
{
21
return
std::make_tuple
(
std::accumulate
(
vector
.begin(),
vector
.end(), 0 ),
vector
.size(),
std::rand
() % 20 );
22
}
23
};
24
25
DECLARE_COMPONENT
( NTupleWriter_V )
26
}
// namespace Gaudi::TestSuite::NTuple
Gaudi::TestSuite::NTuple::NTupleWriter_V::transform
std::tuple< int, size_t, float > transform(const std::vector< int > &vector) const override
Definition:
NTupleWriterImpls.cpp:20
std::make_tuple
T make_tuple(T... args)
std::string
STL class.
std::vector< int >
Gaudi::TestSuite::NTuple::NTupleWriter_V::NTupleWriter_V
NTupleWriter_V(const std::string &name, ISvcLocator *svcLoc)
Definition:
NTupleWriterImpls.cpp:17
ISvcLocator
Definition:
ISvcLocator.h:46
std::tuple
Gaudi::TestSuite::NTuple
Definition:
MyStruct.h:15
std::accumulate
T accumulate(T... args)
Gaudi::NTuple::Writer< std::tuple< int, size_t, float >(const std::vector< int > &)>::Writer
Writer()=0
std::rand
T rand(T... args)
Writer.h
Containers::vector
struct GAUDI_API vector
Parametrisation class for vector-like implementation.
Definition:
KeyedObjectManager.h:39
ConditionsStallTest.name
name
Definition:
ConditionsStallTest.py:77
DECLARE_COMPONENT
#define DECLARE_COMPONENT(type)
Definition:
PluginServiceV1.h:46
Gaudi::NTuple::Writer
Base template for NTuple::Writer. Actual specializations of this template provide the functionality.
Definition:
Writer.h:111
Gaudi::TestSuite::NTuple::NTupleWriter_V
Definition:
NTupleWriterImpls.cpp:16
GaudiTestSuite
src
NTuple
NTupleWriterImpls.cpp
Generated on Thu Dec 19 2024 15:35:07 for The Gaudi Framework by
1.8.18