ATLAS Offline Software
TDVCollectionProxy.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // $Id: TDVCollectionProxy.h 687822 2015-08-06 07:58:06Z krasznaa $
8 #ifndef XAODCORE_TDVCOLLECTIONPROXY_H
9 #define XAODCORE_TDVCOLLECTIONPROXY_H
10 
11 // System include(s):
12 #include <cstddef>
13 
14 // ROOT include(s):
15 #include <TGenCollectionProxy.h>
16 
17 // Forward declaration(s):
18 class TClass;
19 
20 namespace xAOD {
21 
25 
46  : public TGenCollectionProxy {
47 
48  public:
50  typedef TGenCollectionProxy::Sizing_t Sizing_t;
51 
57  TDVCollectionProxy( const char* conttype );
61 
64  virtual void PushProxy( void* objstart );
65 
67  virtual TVirtualCollectionProxy* Generate() const;
68 
70  void SetResize( Sizing_t func );
71 
72  private:
74  virtual TGenCollectionProxy* InitializeEx( Bool_t silent );
76  void FindOffsets( const char* elttype,
77  const char* conttype );
78 
80  TString fName;
82  Bool_t fInitialized;
83 
85  ptrdiff_t fContoff;
87  ptrdiff_t fOffset;
88 
90  TClass* fEltBase;
92  TClass* fEltType;
93 
94  // Disallow copying.
96 
97  }; // class TDVCollectionProxy
98 
99 } // namespace xAOD
100 
101 #endif // XAODCORE_TDVCOLLECTIONPROXY_H
xAOD::TDVCollectionProxy::PushProxy
virtual void PushProxy(void *objstart)
Start working with a new collection.
xAOD::TDVCollectionProxy::TDVCollectionProxy
TDVCollectionProxy(const char *conttype)
Constructor.
Definition: TDVCollectionProxy.cxx:328
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
xAOD::TDVCollectionProxy::operator=
TDVCollectionProxy & operator=(const TDVCollectionProxy &)
xAOD::TDVCollectionProxy
A Root collection proxy for DataVector containers.
Definition: TDVCollectionProxy.h:46
xAOD::TDVCollectionProxy::fInitialized
Bool_t fInitialized
Flag for knowing whether the class was initialised already.
Definition: TDVCollectionProxy.h:82
xAOD::TDVCollectionProxy::FindOffsets
void FindOffsets(const char *elttype, const char *conttype)
Initialize the cached pointer offsets.
Definition: TDVCollectionProxy.cxx:522
xAOD::TDVCollectionProxy::fName
TString fName
Name of the container that this class proxies.
Definition: TDVCollectionProxy.h:80
xAOD::TDVCollectionProxy::SetResize
void SetResize(Sizing_t func)
Set the resize(...) function used by the proxy.
Definition: TDVCollectionProxy.cxx:439
xAOD::TDVCollectionProxy::InitializeEx
virtual TGenCollectionProxy * InitializeEx(Bool_t silent)
Function initialising the proxy just in time.
Definition: TDVCollectionProxy.cxx:445
xAOD::TDVCollectionProxy::fContoff
ptrdiff_t fContoff
The offset of the underlying DataVector in the declared type.
Definition: TDVCollectionProxy.h:85
xAOD::TDVCollectionProxy::fOffset
ptrdiff_t fOffset
Offset between the DV base pointer and the full DV pointer.
Definition: TDVCollectionProxy.h:87
xAOD::TDVCollectionProxy::fEltBase
TClass * fEltBase
The element type to which the DV representation points.
Definition: TDVCollectionProxy.h:90
xAOD::TDVCollectionProxy::fEltType
TClass * fEltType
The declared element type of the DV.
Definition: TDVCollectionProxy.h:92
python.trfDecorators.silent
def silent(func)
Redirect stdout/err to /dev/null Useful wrapper to get rid of ROOT verbosity...
Definition: trfDecorators.py:24
xAOD::TDVCollectionProxyDummy
Dummy class to use as the DataVector template argument for the class we give to the Root proxy.
Definition: TDVCollectionProxy.h:24
xAOD::TDVCollectionProxy::Sizing_t
TGenCollectionProxy::Sizing_t Sizing_t
Make the definition of Sizing_t public.
Definition: TDVCollectionProxy.h:50
xAOD::TDVCollectionProxy::Generate
virtual TVirtualCollectionProxy * Generate() const
Clone this object.
Definition: TDVCollectionProxy.cxx:428