The Gaudi Framework  master (181af51f)
Loading...
Searching...
No Matches
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
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
#define DECLARE_COMPONENT(type)
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition ISvcLocator.h:42
STL class.
Base template for NTuple::Writer.
Definition Writer.h:111
std::tuple< int, size_t, float > transform(const std::vector< int > &vector) const override
NTupleWriter_V(const std::string &name, ISvcLocator *svcLoc)