Project
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
o2::framework::OutputObj< T > Struct Template Reference

#include <AnalysisHelpers.h>

Public Types

using obj_t = T
 

Public Member Functions

 OutputObj (T &&t, OutputObjHandlingPolicy policy_=OutputObjHandlingPolicy::AnalysisObject, OutputObjSourceType sourceType_=OutputObjSourceType::OutputObjSource)
 
 OutputObj (std::string const &label_, OutputObjHandlingPolicy policy_=OutputObjHandlingPolicy::AnalysisObject, OutputObjSourceType sourceType_=OutputObjSourceType::OutputObjSource)
 
void setObject (T const &t)
 
void setObject (T &&t)
 
void setObject (T *t)
 
void setObject (std::shared_ptr< T > t)
 
void setHash (uint32_t hash)
 
OutputSpec const spec ()
 
T * operator-> ()
 
T & operator* ()
 
OutputRef ref (uint16_t index, uint16_t max)
 

Public Attributes

std::shared_ptr< T > object
 
std::string label
 
OutputObjHandlingPolicy policy
 
OutputObjSourceType sourceType
 
uint32_t mTaskHash
 
InputSpec spec
 
bool isdangling
 

Detailed Description

template<typename T>
struct o2::framework::OutputObj< T >

This helper class allows you to declare things which will be created by a given analysis task. Currently wrapped objects are limited to be TNamed descendants. Objects will be written to a ROOT file at the end of the workflow, in directories, corresponding to the task they were declared in. Each object has associated handling policy, which is used by the framework to determine the target file, e.g. analysis result, QA or control histogram, etc.

Definition at line 538 of file AnalysisHelpers.h.

Member Typedef Documentation

◆ obj_t

template<typename T >
using o2::framework::OutputObj< T >::obj_t = T

Definition at line 539 of file AnalysisHelpers.h.

Constructor & Destructor Documentation

◆ OutputObj() [1/2]

template<typename T >
o2::framework::OutputObj< T >::OutputObj ( T &&  t,
OutputObjHandlingPolicy  policy_ = OutputObjHandlingPolicy::AnalysisObject,
OutputObjSourceType  sourceType_ = OutputObjSourceType::OutputObjSource 
)
inline

Definition at line 541 of file AnalysisHelpers.h.

◆ OutputObj() [2/2]

template<typename T >
o2::framework::OutputObj< T >::OutputObj ( std::string const &  label_,
OutputObjHandlingPolicy  policy_ = OutputObjHandlingPolicy::AnalysisObject,
OutputObjSourceType  sourceType_ = OutputObjSourceType::OutputObjSource 
)
inline

Definition at line 550 of file AnalysisHelpers.h.

Member Function Documentation

◆ operator*()

template<typename T >
T & o2::framework::OutputObj< T >::operator* ( )
inline

Definition at line 607 of file AnalysisHelpers.h.

◆ operator->()

template<typename T >
T * o2::framework::OutputObj< T >::operator-> ( )
inline

Definition at line 602 of file AnalysisHelpers.h.

◆ ref()

template<typename T >
OutputRef o2::framework::OutputObj< T >::ref ( uint16_t  index,
uint16_t  max 
)
inline

Definition at line 612 of file AnalysisHelpers.h.

◆ setHash()

template<typename T >
void o2::framework::OutputObj< T >::setHash ( uint32_t  hash)
inline

Definition at line 583 of file AnalysisHelpers.h.

◆ setObject() [1/4]

template<typename T >
void o2::framework::OutputObj< T >::setObject ( std::shared_ptr< T >  t)
inline

Definition at line 577 of file AnalysisHelpers.h.

◆ setObject() [2/4]

template<typename T >
void o2::framework::OutputObj< T >::setObject ( T &&  t)
inline

Definition at line 565 of file AnalysisHelpers.h.

◆ setObject() [3/4]

template<typename T >
void o2::framework::OutputObj< T >::setObject ( T *  t)
inline

Definition at line 571 of file AnalysisHelpers.h.

◆ setObject() [4/4]

template<typename T >
void o2::framework::OutputObj< T >::setObject ( T const &  t)
inline

Definition at line 559 of file AnalysisHelpers.h.

◆ spec()

template<typename T >
OutputSpec const o2::framework::OutputObj< T >::spec ( )
inline
Returns
the associated OutputSpec

Definition at line 589 of file AnalysisHelpers.h.

Member Data Documentation

◆ isdangling

template<typename T >
bool o2::framework::OutputObj< T >::isdangling

Definition at line 148 of file WorkflowHelpers.h.

◆ label

template<typename T >
std::string o2::framework::OutputObj< T >::label

Definition at line 619 of file AnalysisHelpers.h.

◆ mTaskHash

template<typename T >
uint32_t o2::framework::OutputObj< T >::mTaskHash

Definition at line 622 of file AnalysisHelpers.h.

◆ object

template<typename T >
std::shared_ptr<T> o2::framework::OutputObj< T >::object

Definition at line 618 of file AnalysisHelpers.h.

◆ policy

template<typename T >
OutputObjHandlingPolicy o2::framework::OutputObj< T >::policy

Definition at line 620 of file AnalysisHelpers.h.

◆ sourceType

template<typename T >
OutputObjSourceType o2::framework::OutputObj< T >::sourceType

Definition at line 621 of file AnalysisHelpers.h.

◆ spec

template<typename T >
InputSpec o2::framework::OutputObj< T >::spec

Definition at line 147 of file WorkflowHelpers.h.


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