5#ifndef XAODCORE_ADDDVPROXY_H
6#define XAODCORE_ADDDVPROXY_H
15#include <TInterpreter.h>
39#define ADD_DV_PROXY( TYPE ) \
41 TGenericClassInfo* GenerateInitInstance( const TYPE* ); \
43 int register_##TYPE##_CollectionProxy() { \
44 xAOD::AddDVProxy::add< TYPE >( ROOT::GenerateInitInstance( ( TYPE* ) 0x0 ) ); \
47 static int _R__UNIQUE_( dummy_##TYPE##_Var ) = \
48 register_##TYPE##_CollectionProxy(); \
49 R__UseDummy( _R__UNIQUE_( dummy_##TYPE##_Var ) )
67#define ADD_NS_DV_PROXY( NS, TYPE ) \
69 TGenericClassInfo* GenerateInitInstance( const NS::TYPE* ); \
71 int register_##NS##_##TYPE##_CollectionProxy() { \
72 xAOD::AddDVProxy::add< NS::TYPE >( ROOT::GenerateInitInstance( ( NS::TYPE* ) 0x0 ) ); \
75 static int _R__UNIQUE_( dummy_##NS##_##TYPE##_Var ) = \
76 register_##NS##_##TYPE##_CollectionProxy(); \
77 R__UseDummy( _R__UNIQUE_( dummy_##NS##_##TYPE##_Var ) )
104 typedef typename Cont_t::base_value_type
Value_t;
111 static void resize(
void* obj,
size_t size ) {
123 for(
size_t i = 0; i < size; ++i ) {
126 if( ( *c )[ i ] )
continue;
146 template <
typename T >
147 static void add( ROOT::TGenericClassInfo* clInfo ) {
158 clInfo->AdoptCollectionProxy( proxy );
An STL vector of pointers that by default owns its pointed-to elements.
static std::string name()
Return the name of class T as a string.
Interface for non-const operations on an auxiliary store.
Set up collection proxy for a DataVector class.
static void add(ROOT::TGenericClassInfo *clInfo)
Set up collection proxy for a DataVector class.
static void loadDictionaries()
Helper function force-loading all the needed dictionaries.
A Root collection proxy for DataVector containers.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Helper structure implementing the resize(...) function.
Cont_t::base_value_type Value_t
Type of the elements in the DataVector.
static void resize(void *obj, size_t size)
Function taking care of resizing DataVector<T> objects in memory.
T Cont_t
Type of the DataVector container.