Project
Loading...
Searching...
No Matches
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 593 of file AnalysisHelpers.h.

Member Typedef Documentation

◆ obj_t

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

Definition at line 594 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 596 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 605 of file AnalysisHelpers.h.

Member Function Documentation

◆ operator*()

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

Definition at line 662 of file AnalysisHelpers.h.

◆ operator->()

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

Definition at line 657 of file AnalysisHelpers.h.

◆ ref()

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

Definition at line 667 of file AnalysisHelpers.h.

◆ setHash()

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

Definition at line 638 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 632 of file AnalysisHelpers.h.

◆ setObject() [2/4]

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

Definition at line 620 of file AnalysisHelpers.h.

◆ setObject() [3/4]

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

Definition at line 626 of file AnalysisHelpers.h.

◆ setObject() [4/4]

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

Definition at line 614 of file AnalysisHelpers.h.

◆ spec()

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

Definition at line 644 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 674 of file AnalysisHelpers.h.

◆ mTaskHash

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

Definition at line 677 of file AnalysisHelpers.h.

◆ object

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

Definition at line 673 of file AnalysisHelpers.h.

◆ policy

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

Definition at line 675 of file AnalysisHelpers.h.

◆ sourceType

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

Definition at line 676 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: