xAOD::TDVCollectionProxy Class Reference

#include <TDVCollectionProxy.h>

List of all members.

Public Types

typedef
TGenCollectionProxy::Sizing_t 
Sizing_t
 Make the definition of Sizing_t public.

Public Member Functions

 TDVCollectionProxy (const char *conttype)
 TDVCollectionProxy (const TDVCollectionProxy &rhs)
virtual void PushProxy (void *objstart)
virtual TVirtualCollectionProxy * Generate () const
 Clone this object.
void SetResize (Sizing_t func)
 Set the resize(...) function used by the proxy.

Detailed Description

A Root collection proxy for DataVector containers.

In order for a container type to be treated properly by TTree::Draw and friends, Root must recognize that it is in fact a container type, and generate an appropriate proxy for it. This doesn't happen automatically, though. This class serves as an appropriate proxy for DataVector classes. Like the Root proxy classes, it's based on making a hard cast to a dummy DataVector type. But because DataVector's can inherit, we need to be careful about pointer conversions, something the Root proxy classes could ignore. We extend the Root environment buffer to cache information about the pointer offsets.

Author:
Scott Snyder <Scott.Snyder@cern.ch>
Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Revision
687822
Date
2015-08-06 09:58:06 +0200 (Thu, 06 Aug 2015)

Constructor & Destructor Documentation

xAOD::TDVCollectionProxy::TDVCollectionProxy ( const char *  conttype  ) 

Constructor.

Parameters:
conttype The name of the container type we're proxying. Note that this may be different from a DataVector of elttype for classes which derive from DataVector.
xAOD::TDVCollectionProxy::TDVCollectionProxy ( const TDVCollectionProxy rhs  ) 

Copy constructor.

Parameters:
rhs The proxy to copy.

Member Function Documentation

void xAOD::TDVCollectionProxy::PushProxy ( void *  objstart  )  [virtual]

Start working with a new collection.

Parameters:
objstart The address of the collection.
void xAOD::TDVCollectionProxy::SetResize ( Sizing_t  func  ) 

Set the resize(...) function used by the proxy.

The resize(...) functions need to be specific for the different classes. This function is used to supply a specific resize(...) function for this proxy's class.

Parameters:
func The function to use

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 15 Apr 2017 for RootCore Packages by  doxygen 1.6.1