The Gaudi Framework  v41r0 (bdbe7744)
Loading...
Searching...
No Matches
Gaudi::NTuple::Writer< std::tuple< OUTPUTs... >(const INPUTs &...), Traits_ > Struct Template Referenceabstract

Specialized algorithm for NTuple writing when exactly one entry is written per event and a transformation is used to convert INPUTS to the stored items, aka OUTPUTS. More...

#include </builds/gaudi/Gaudi/GaudiUtils/include/Gaudi/NTuple/Writer.h>

Inheritance diagram for Gaudi::NTuple::Writer< std::tuple< OUTPUTs... >(const INPUTs &...), Traits_ >:
Collaboration diagram for Gaudi::NTuple::Writer< std::tuple< OUTPUTs... >(const INPUTs &...), Traits_ >:

Public Types

using SimpleWriter_t = SimpleWriter<std::tuple<OUTPUTs...>( const INPUTs&... ), Traits_>
Public Types inherited from Gaudi::NTuple::SimpleWriter< std::tuple< OUTPUTs... >(const INPUTs &...), Traits_ >
using Consumer_t = FileHolder<Gaudi::Functional::Consumer<void( const INPUTs&... ), Traits_>>

Public Member Functions

virtual std::tuple< OUTPUTs... > transform (const INPUTs &... inputs) const =0
 Transform input data to the desired output format.
void operator() (const INPUTs &... inputs) const override
 Writer ()=delete
Public Member Functions inherited from Gaudi::NTuple::SimpleWriter< std::tuple< OUTPUTs... >(const INPUTs &...), Traits_ >
virtual StatusCode initialize () override
void fillTree (const std::tuple< OUTPUTs... > &data) const
virtual StatusCode finalize () override
 SimpleWriter ()=delete
Public Member Functions inherited from Gaudi::NTuple::FileHolder< Gaudi::Functional::Consumer< void(const INPUTs &...), Traits_ > >
TFile * file ()

Additional Inherited Members

Public Attributes inherited from Gaudi::NTuple::SimpleWriter< std::tuple< OUTPUTs... >(const INPUTs &...), Traits_ >
Gaudi::Property< std::string > m_ntupleTname { this, "NTupleName", this->name(), "Name of the TTree." }
Gaudi::Property< std::array< std::string, sizeof...(OUTPUTs)> > m_branchNames

Detailed Description

template<typename... OUTPUTs, typename... INPUTs, typename Traits_>
struct Gaudi::NTuple::Writer< std::tuple< OUTPUTs... >(const INPUTs &...), Traits_ >

Specialized algorithm for NTuple writing when exactly one entry is written per event and a transformation is used to convert INPUTS to the stored items, aka OUTPUTS.

A class inheriting Writer only has to provide the transform method converting INPUTS into OUTPUTS. Write inherits from SimpleWriter and thus has the same Properties

Template Parameters
OUTPUTsVariadic template parameters representing output data types.
INPUTsVariadic template parameters representing input data types.

Definition at line 221 of file Writer.h.

Member Typedef Documentation

◆ SimpleWriter_t

template<typename... OUTPUTs, typename... INPUTs, typename Traits_>
using Gaudi::NTuple::Writer< std::tuple< OUTPUTs... >(const INPUTs &...), Traits_ >::SimpleWriter_t = SimpleWriter<std::tuple<OUTPUTs...>( const INPUTs&... ), Traits_>

Definition at line 224 of file Writer.h.

Constructor & Destructor Documentation

◆ Writer()

Gaudi::NTuple::Writer< std::tuple< OUTPUTs... >, Traits_ >::Writer ( )
delete

Member Function Documentation

◆ operator()()

template<typename... OUTPUTs, typename... INPUTs, typename Traits_>
void Gaudi::NTuple::Writer< std::tuple< OUTPUTs... >(const INPUTs &...), Traits_ >::operator() ( const INPUTs &... inputs) const
inlineoverride

Definition at line 235 of file Writer.h.

235 {
236 auto transformedData = transform( inputs... );
237 this->fillTree( transformedData );
238 }
virtual std::tuple< OUTPUTs... > transform(const INPUTs &... inputs) const =0
Transform input data to the desired output format.
Base template for NTuple::Writer.
Definition Writer.h:203

◆ transform()

template<typename... OUTPUTs, typename... INPUTs, typename Traits_>
virtual std::tuple< OUTPUTs... > Gaudi::NTuple::Writer< std::tuple< OUTPUTs... >(const INPUTs &...), Traits_ >::transform ( const INPUTs &... inputs) const
pure virtual

Transform input data to the desired output format.

Must be overridden in derived classes.

Parameters
inputsVariadic inputs of types specified by INPUTs...
Returns
A tuple of output data corresponding to OUTPUTs...

The documentation for this struct was generated from the following file:
  • GaudiUtils/include/Gaudi/NTuple/Writer.h