Juggler
Juggling algorithms and event processing using gaudi framework
DataHandle< T > Class Template Reference

#include <DataHandle.h>

Inheritance diagram for DataHandle< T >:

Public Member Functions

 DataHandle ()
 
 ~DataHandle ()
 
 DataHandle (DataObjID &descriptor, Gaudi::DataHandle::Mode a, IDataHandleHolder *fatherAlg)
 Initialises mother class. More...
 
 DataHandle (const std::string &k, Gaudi::DataHandle::Mode a, IDataHandleHolder *fatherAlg)
 The DataHandle::Writer constructor is used to create the corresponding branch in the output file. More...
 
const T * get ()
 Retrieve object from transient data store. More...
 
void put (T *object)
 
T * createAndPut ()
 

Friends

class Algorithm
 
class AlgTool
 

Detailed Description

template<typename T>
class DataHandle< T >

Specialisation of the Gaudi DataHandle for use with podio collections.

Constructor & Destructor Documentation

◆ DataHandle() [1/3]

template<typename T >
DataHandle< T >::DataHandle ( )

◆ ~DataHandle()

template<typename T >
DataHandle< T >::~DataHandle

◆ DataHandle() [2/3]

template<typename T >
DataHandle< T >::DataHandle ( DataObjID &  descriptor,
Gaudi::DataHandle< T >::Mode  a,
IDataHandleHolder *  fatherAlg 
)

Initialises mother class.

◆ DataHandle() [3/3]

template<typename T >
DataHandle< T >::DataHandle ( const std::string &  k,
Gaudi::DataHandle< T >::Mode  a,
IDataHandleHolder *  fatherAlg 
)

The DataHandle::Writer constructor is used to create the corresponding branch in the output file.

Member Function Documentation

◆ createAndPut()

template<typename T >
T * DataHandle< T >::createAndPut

Create and register object in transient store

Create the collection, put it in the DataObjectHandle and return the pointer to the data. Call this function if you create a collection and want to save it.

◆ get()

template<typename T >
const T * DataHandle< T >::get

Retrieve object from transient data store.

Try to retrieve from the transient store. If the retrieval succeded and this is the first time we retrieve, perform a dynamic cast to the desired object. Then finally set the handle as Read. If this is not the first time we cast and the cast worked, just use the static cast: we do not need the checks of the dynamic cast for every access!

◆ put()

template<typename T >
void DataHandle< T >::put ( T *  object)

Register object in transient store

Friends And Related Function Documentation

◆ Algorithm

template<typename T >
friend class Algorithm
friend

◆ AlgTool

template<typename T >
friend class AlgTool
friend

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