Project
Loading...
Searching...
No Matches
o2::framework::Spawns< T > Struct Template Reference

#include <AnalysisHelpers.h>

Inherits decltypetransformBase< T >.

Public Types

using spawnable_t = T
 
using metadata = decltype(transformBase< T >())::metadata
 
using extension_t = typename metadata::template extension_table_t_from< o2::aod::Hash< T::originals[T::originals.size() - 1].origin_hash > >
 
using expression_pack_t = typename metadata::expression_pack_t
 

Public Member Functions

T::table_t * operator-> ()
 
T::table_t const & operator* () const
 
auto asArrowTable ()
 

Public Attributes

std::shared_ptr< typename T::table_t > table = nullptr
 
std::shared_ptr< extension_textension = nullptr
 
std::array< o2::framework::expressions::Projector, Nprojectors
 
std::shared_ptr< gandiva::Projector > projector = nullptr
 
std::shared_ptr< arrow::Schema > schema
 

Static Public Attributes

static constexpr size_t N = framework::pack_size(expression_pack_t{})
 

Detailed Description

template<is_spawnable T>
struct o2::framework::Spawns< T >

Definition at line 652 of file AnalysisHelpers.h.

Member Typedef Documentation

◆ expression_pack_t

template<is_spawnable T>
using o2::framework::Spawns< T >::expression_pack_t = typename metadata::expression_pack_t

Definition at line 656 of file AnalysisHelpers.h.

◆ extension_t

template<is_spawnable T>
using o2::framework::Spawns< T >::extension_t = typename metadata::template extension_table_t_from<o2::aod::Hash<T::originals[T::originals.size() - 1].origin_hash> >

Definition at line 655 of file AnalysisHelpers.h.

◆ metadata

template<is_spawnable T>
using o2::framework::Spawns< T >::metadata = decltype(transformBase<T>())::metadata

Definition at line 654 of file AnalysisHelpers.h.

◆ spawnable_t

template<is_spawnable T>
using o2::framework::Spawns< T >::spawnable_t = T

Definition at line 653 of file AnalysisHelpers.h.

Member Function Documentation

◆ asArrowTable()

template<is_spawnable T>
auto o2::framework::Spawns< T >::asArrowTable ( )
inline

Definition at line 668 of file AnalysisHelpers.h.

◆ operator*()

template<is_spawnable T>
T::table_t const & o2::framework::Spawns< T >::operator* ( ) const
inline

Definition at line 663 of file AnalysisHelpers.h.

◆ operator->()

template<is_spawnable T>
T::table_t * o2::framework::Spawns< T >::operator-> ( )
inline

Definition at line 659 of file AnalysisHelpers.h.

Member Data Documentation

◆ extension

template<is_spawnable T>
std::shared_ptr<extension_t> o2::framework::Spawns< T >::extension = nullptr

Definition at line 674 of file AnalysisHelpers.h.

◆ N

template<is_spawnable T>
constexpr size_t o2::framework::Spawns< T >::N = framework::pack_size(expression_pack_t{})
staticconstexpr

Definition at line 657 of file AnalysisHelpers.h.

◆ projector

template<is_spawnable T>
std::shared_ptr<gandiva::Projector> o2::framework::Spawns< T >::projector = nullptr

Definition at line 680 of file AnalysisHelpers.h.

◆ projectors

template<is_spawnable T>
std::array<o2::framework::expressions::Projector, N> o2::framework::Spawns< T >::projectors
Initial value:
= []<typename... C>(framework::pack<C...>) -> std::array<expressions::Projector, sizeof...(C)>
{
return {{std::move(C::Projector())...}};
}
typename metadata::expression_pack_t expression_pack_t

Definition at line 675 of file AnalysisHelpers.h.

◆ schema

template<is_spawnable T>
std::shared_ptr<arrow::Schema> o2::framework::Spawns< T >::schema
Initial value:
= []() {
auto s = std::make_shared<arrow::Schema>(o2::soa::createFieldsFromColumns(expression_pack_t{}));
s->WithMetadata(std::make_shared<arrow::KeyValueMetadata>(std::vector{std::string{"label"}}, std::vector{std::string{o2::aod::label<T::ref>()}}));
return s;
}()
auto createFieldsFromColumns(framework::pack< C... >)
Definition ASoA.h:58

Definition at line 681 of file AnalysisHelpers.h.

◆ table

template<is_spawnable T>
std::shared_ptr<typename T::table_t> o2::framework::Spawns< T >::table = nullptr

Definition at line 673 of file AnalysisHelpers.h.


The documentation for this struct was generated from the following file: