Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TFormLeafInfoReference Class Reference

A small helper class to implement the following of reference objects stored in a TTree.

Definition at line 20 of file TFormLeafInfoReference.h.

Public Member Functions

 TFormLeafInfoReference (const TFormLeafInfoReference &orig)
 Copy constructor.
 
 TFormLeafInfoReference (TClass *classptr, TStreamerElement *element, int off)
 Initializing constructor.
 
 ~TFormLeafInfoReference () override
 Default destructor.
 
TFormLeafInfo * DeepCopy () const override
 Virtual copy constructor.
 
TBranch * GetBranch () const
 Access to the info's connected branch.
 
TClass * GetClass () const override
 Access to target class pointer (if available)
 
Int_t GetCounterValue (TLeaf *leaf) override
 Return the current size of the array container.
 
void * GetLocalValuePointer (char *from, Int_t instance=0) override
 Return the address of the local value.
 
void * GetLocalValuePointer (TLeaf *from, Int_t instance=0) override
 Return the address of the local value.
 
virtual Int_t GetOffset () const
 Access to the offset of the data.
 
Proxy * GetProxy () const
 Access to the info's proxy.
 
Double_t GetValue (TLeaf *leaf, Int_t instance=0) override
 Access value of referenced object (macro from TFormLeafInfo.g)
 
virtual TClass * GetValueClass (TLeaf *from)
 Access to the value class of the reference proxy.
 
virtual TClass * GetValueClass (void *from)
 Access to the value class from the object pointer.
 
template<typename T >
T GetValueImpl (TLeaf *leaf, Int_t instance=0)
 Return result of a leafobject method.
 
Long64_t GetValueLong64 (TLeaf *leaf, Int_t instance=0) override
 
LongDouble_t GetValueLongDouble (TLeaf *leaf, Int_t instance=0) override
 
Bool_t HasCounter () const override
 Return true if any of underlying data has a array size counter.
 
Bool_t IsInteger () const override
 Return true only if the underlying data is an integral value.
 
Bool_t IsReference () const override
 Return true only if the underlying data is a reference.
 
Bool_t IsString () const override
 Return true only if the underlying data is a string.
 
TFormLeafInfoReference & operator= (const TFormLeafInfoReference &orig)
 Exception safe assignment operator.
 
Int_t ReadCounterValue (char *where) override
 Return the size of the underlying array for the current entry in the TTree.
 
Double_t ReadValue (char *where, Int_t instance=0) override
 Read value of referenced object.
 
template<typename T >
T ReadValueImpl (char *where, Int_t instance=0)
 Execute the method on the given address.
 
Long64_t ReadValueLong64 (char *where, Int_t instance=0) override
 
LongDouble_t ReadValueLongDouble (char *where, Int_t instance=0) override
 
void SetBranch (TBranch *branch) override
 Access to the info's connected branch.
 
void Swap (TFormLeafInfoReference &other)
 Exception safe swap.
 
Bool_t Update () override
 TFormLeafInfo overload: Update (and propagate) cached information.
 
- Public Member Functions inherited from TFormLeafInfo
 TFormLeafInfo (const TFormLeafInfo &orig)
 Constructor.
 
 TFormLeafInfo (TClass *classptr=nullptr, Longptr_t offset=0, TStreamerElement *element=nullptr)
 Constructor.
 
 ~TFormLeafInfo () override
 Delete this object and all its content.
 
virtual void AddOffset (Int_t offset, TStreamerElement *element)
 Increase the offset of this element.
 
virtual Int_t GetArrayLength ()
 Return the current length of the array.
 
Int_t GetMultiplicity ()
 Reminder of the meaning of fMultiplicity:
 
virtual Int_t GetNdata ()
 Get the number of element in the entry.
 
Int_t GetNdata (TLeaf *leaf)
 
char * GetObjectAddress (TLeafElement *leaf, Int_t &instance)
 Returns the location of the object pointed to.
 
virtual Int_t GetPrimaryIndex ()
 Method for multiple variable dimensions.
 
virtual Int_t GetSize (Int_t index)
 For the current entry, and the value 'index' for the main array, return the size of the secondary variable dimension of the 'array'.
 
virtual Int_t GetSumOfSizes ()
 Total all the elements that are available for the current entry for the secondary variable dimension.
 
template<typename T >
T GetTypedValue (TLeaf *leaf, Int_t instance=0)
 
template<typename T >
T GetValueImpl (TLeaf *leaf, Int_t instance=0)
 Return result of a leafobject method.
 
virtual void * GetValuePointer (char *from, Int_t instance=0)
 returns the address of the value pointed to by the TFormLeafInfo.
 
virtual void * GetValuePointer (TLeaf *leaf, Int_t instance=0)
 returns the address of the value pointed to by the serie of TFormLeafInfo.
 
virtual Int_t GetVarDim ()
 Return the index of the dimension which varies for each elements of an enclosing array (typically a TClonesArray)
 
virtual Int_t GetVirtVarDim ()
 Return the virtual index (for this expression) of the dimension which varies for each elements of an enclosing array (typically a TClonesArray)
 
virtual void LoadSizes (TBranch *branch)
 Load the current array sizes.
 
TFormLeafInfo & operator= (const TFormLeafInfo &orig)
 Exception safe assignment operator.
 
template<typename T >
T ReadTypedValue (char *where, Int_t instance=0)
 
template<typename T >
T ReadValueImpl (char *where, Int_t instance=0)
 Read the value at the given memory location.
 
virtual void SetPrimaryIndex (Int_t index)
 Set the primary index value.
 
virtual void SetSecondaryIndex (Int_t index)
 Set the primary index value.
 
virtual void SetSize (Int_t index, Int_t val)
 Set the current size of the arrays.
 
void Swap (TFormLeafInfo &other)
 
virtual void UpdateSizes (TArrayI *garr)
 Set the current sizes of the arrays.
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor.
 
 TObject (const TObject &object)
 TObject copy ctor.
 
virtual ~TObject ()
 TObject destructor.
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract.
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad.
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action.
 
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs.
 
virtual void Clear (Option_t *="")
 
virtual TObject * Clone (const char *newname="") const
 Make a clone of an object using the Streamer facility.
 
virtual Int_t Compare (const TObject *obj) const
 Compare abstract method.
 
virtual void Copy (TObject &object) const
 Copy this to obj.
 
virtual void Delete (Option_t *option="")
 Delete this object.
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object.
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects.
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs.
 
virtual TObject * DrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).
 
virtual void Dump () const
 Dump contents of object on stdout.
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message.
 
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
 Execute method on this object with the given parameter string, e.g.
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 Execute method on this object with parameters stored in the TObjArray.
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py).
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message.
 
virtual TObject * FindObject (const char *name) const
 Must be redefined in derived classes.
 
virtual TObject * FindObject (const TObject *obj) const
 Must be redefined in derived classes.
 
virtual Option_t * GetDrawOption () const
 Get option used by the graphics system to draw this object.
 
virtual const char * GetIconName () const
 Returns mime type name of object.
 
virtual const char * GetName () const
 Returns name of object.
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py).
 
virtual Option_t * GetOption () const
 
virtual const char * GetTitle () const
 Returns title of object.
 
virtual UInt_t GetUniqueID () const
 Return the unique object id.
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out.
 
virtual ULong_t Hash () const
 Return hash value for this object.
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message.
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname".
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl.
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas.
 
void InvertBit (UInt_t f)
 
virtual TClass * IsA () const
 
Bool_t IsDestructed () const
 IsDestructed.
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory).
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
virtual Bool_t IsSortable () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
virtual void ls (Option_t *option="") const
 The ls function lists the contents of a class on stdout.
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification (the base implementation is no-op).
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete.
 
void operator delete (void *ptr)
 Operator delete.
 
void operator delete (void *ptr, void *vp)
 Only called by placement new when throwing an exception.
 
void operator delete[] (void *ptr)
 Operator delete [].
 
void operator delete[] (void *ptr, void *vp)
 Only called by placement new[] when throwing an exception.
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *vp)
 
void * operator new[] (size_t sz)
 
void * operator new[] (size_t sz, void *vp)
 
TObject & operator= (const TObject &rhs)
 TObject assignment operator.
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself.
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list.
 
virtual void Print (Option_t *option="") const
 This method must be overridden when a class wants to print itself.
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory.
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list.
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename.
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out".
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f.
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object.
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id.
 
virtual void Streamer (TBuffer &)
 Stream an object of class TObject.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message.
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message.
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory.
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory.
 

Public Attributes

TBranch * fBranch
 ! Cached pointer to branch object
 
Proxy * fProxy
 ! Cached pointer to reference proxy
 
- Public Attributes inherited from TFormLeafInfo
TClass * fClass
 ! This is the class of the data pointed to
 
TString fClassName
 
TFormLeafInfo * fCounter
 
TStreamerElement * fElement
 ! Descriptor of the data pointed to.
 
TString fElementName
 
TFormLeafInfo * fNext
 follow this to grab the inside information
 
Longptr_t fOffset
 ! Offset of the data pointed inside the class fClass
 

Private Types

typedef TVirtualRefProxy Proxy
 

Additional Inherited Members

- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) }
 
enum  EStatusBits {
  kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) ,
  kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 ))
}
 
- Static Public Member Functions inherited from TObject
static TClass * Class ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Longptr_t GetDtorOnly ()
 Return destructor only flag.
 
static Bool_t GetObjectStat ()
 Get status of object stat flag.
 
static void SetDtorOnly (void *obj)
 Set destructor only flag.
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable.
 
- Protected Types inherited from TObject
enum  { kOnlyPrepStep = (1ULL << ( 3 )) }
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected).
 
void MakeZombie ()
 
- Protected Attributes inherited from TFormLeafInfo
Int_t fMultiplicity
 

#include <TFormLeafInfoReference.h>

Inheritance diagram for TFormLeafInfoReference:
[legend]

Member Typedef Documentation

◆ Proxy

Definition at line 21 of file TFormLeafInfoReference.h.

Constructor & Destructor Documentation

◆ TFormLeafInfoReference() [1/2]

TFormLeafInfoReference::TFormLeafInfoReference ( TClass *  classptr,
TStreamerElement *  element,
int  off 
)

Initializing constructor.

Constructor.

Definition at line 26 of file TFormLeafInfoReference.cxx.

◆ TFormLeafInfoReference() [2/2]

TFormLeafInfoReference::TFormLeafInfoReference ( const TFormLeafInfoReference &  orig)

Copy constructor.

Definition at line 40 of file TFormLeafInfoReference.cxx.

◆ ~TFormLeafInfoReference()

TFormLeafInfoReference::~TFormLeafInfoReference ( )
override

Default destructor.

Destructor.

Definition at line 54 of file TFormLeafInfoReference.cxx.

Member Function Documentation

◆ DeepCopy()

TFormLeafInfo * TFormLeafInfoReference::DeepCopy ( ) const
overridevirtual

Virtual copy constructor.

Reimplemented from TFormLeafInfo.

Definition at line 82 of file TFormLeafInfoReference.cxx.

◆ GetBranch()

TBranch * TFormLeafInfoReference::GetBranch ( ) const
inline

Access to the info's connected branch.

Definition at line 42 of file TFormLeafInfoReference.h.

◆ GetClass()

TClass * TFormLeafInfoReference::GetClass ( ) const
overridevirtual

Access to target class pointer (if available)

Reimplemented from TFormLeafInfo.

Definition at line 90 of file TFormLeafInfoReference.cxx.

◆ GetCounterValue()

Int_t TFormLeafInfoReference::GetCounterValue ( TLeaf *  leaf)
overridevirtual

Return the current size of the array container.

Reimplemented from TFormLeafInfo.

Definition at line 124 of file TFormLeafInfoReference.cxx.

◆ GetLocalValuePointer() [1/2]

void * TFormLeafInfoReference::GetLocalValuePointer ( char *  from,
Int_t  instance = 0 
)
overridevirtual

Return the address of the local value.

Access value of referenced object.

Reimplemented from TFormLeafInfo.

Definition at line 191 of file TFormLeafInfoReference.cxx.

◆ GetLocalValuePointer() [2/2]

void * TFormLeafInfoReference::GetLocalValuePointer ( TLeaf *  from,
Int_t  instance = 0 
)
overridevirtual

Return the address of the local value.

This is implemented here because some compiler want ALL the signature of an overloaded function to be re-implemented.

Reimplemented from TFormLeafInfo.

Definition at line 182 of file TFormLeafInfoReference.cxx.

◆ GetOffset()

virtual Int_t TFormLeafInfoReference::GetOffset ( ) const
inlinevirtual

Access to the offset of the data.

Definition at line 47 of file TFormLeafInfoReference.h.

◆ GetProxy()

Proxy * TFormLeafInfoReference::GetProxy ( ) const
inline

Access to the info's proxy.

Definition at line 40 of file TFormLeafInfoReference.h.

◆ GetValue()

Double_t TFormLeafInfoReference::GetValue ( TLeaf *  leaf,
Int_t  instance = 0 
)
inlineoverridevirtual

Access value of referenced object (macro from TFormLeafInfo.g)

Reimplemented from TFormLeafInfo.

Definition at line 72 of file TFormLeafInfoReference.h.

◆ GetValueClass() [1/2]

TClass * TFormLeafInfoReference::GetValueClass ( TLeaf *  from)
virtual

Access to the value class of the reference proxy.

Definition at line 141 of file TFormLeafInfoReference.cxx.

◆ GetValueClass() [2/2]

TClass * TFormLeafInfoReference::GetValueClass ( void *  from)
virtual

Access to the value class from the object pointer.

Access to the value class of the reference proxy.

Definition at line 149 of file TFormLeafInfoReference.cxx.

◆ GetValueImpl()

template<typename T >
template LongDouble_t TFormLeafInfoReference::GetValueImpl< LongDouble_t > ( TLeaf *  leaf,
Int_t  instance = 0 
)

Return result of a leafobject method.

Definition at line 168 of file TFormLeafInfoReference.cxx.

◆ GetValueLong64()

Long64_t TFormLeafInfoReference::GetValueLong64 ( TLeaf *  leaf,
Int_t  instance = 0 
)
inlineoverridevirtual

Reimplemented from TFormLeafInfo.

Definition at line 72 of file TFormLeafInfoReference.h.

◆ GetValueLongDouble()

LongDouble_t TFormLeafInfoReference::GetValueLongDouble ( TLeaf *  leaf,
Int_t  instance = 0 
)
inlineoverridevirtual

Reimplemented from TFormLeafInfo.

Definition at line 72 of file TFormLeafInfoReference.h.

◆ HasCounter()

Bool_t TFormLeafInfoReference::HasCounter ( ) const
overridevirtual

Return true if any of underlying data has a array size counter.

Reimplemented from TFormLeafInfo.

Definition at line 98 of file TFormLeafInfoReference.cxx.

◆ IsInteger()

Bool_t TFormLeafInfoReference::IsInteger ( ) const
inlineoverridevirtual

Return true only if the underlying data is an integral value.

Reimplemented from TFormLeafInfo.

Definition at line 49 of file TFormLeafInfoReference.h.

◆ IsReference()

Bool_t TFormLeafInfoReference::IsReference ( ) const
inlineoverridevirtual

Return true only if the underlying data is a reference.

Reimplemented from TFormLeafInfo.

Definition at line 53 of file TFormLeafInfoReference.h.

◆ IsString()

Bool_t TFormLeafInfoReference::IsString ( ) const
inlineoverridevirtual

Return true only if the underlying data is a string.

Reimplemented from TFormLeafInfo.

Definition at line 51 of file TFormLeafInfoReference.h.

◆ operator=()

TFormLeafInfoReference & TFormLeafInfoReference::operator= ( const TFormLeafInfoReference &  orig)

Exception safe assignment operator.

Definition at line 72 of file TFormLeafInfoReference.cxx.

◆ ReadCounterValue()

Int_t TFormLeafInfoReference::ReadCounterValue ( char *  where)
overridevirtual

Return the size of the underlying array for the current entry in the TTree.

Reimplemented from TFormLeafInfo.

Definition at line 107 of file TFormLeafInfoReference.cxx.

◆ ReadValue()

Double_t TFormLeafInfoReference::ReadValue ( char *  where,
Int_t  instance = 0 
)
inlineoverridevirtual

Read value of referenced object.

Reimplemented from TFormLeafInfo.

Definition at line 74 of file TFormLeafInfoReference.h.

◆ ReadValueImpl()

template<typename T >
template LongDouble_t TFormLeafInfoReference::ReadValueImpl< LongDouble_t > ( char *  where,
Int_t  instance = 0 
)

Execute the method on the given address.

Definition at line 209 of file TFormLeafInfoReference.cxx.

◆ ReadValueLong64()

Long64_t TFormLeafInfoReference::ReadValueLong64 ( char *  where,
Int_t  instance = 0 
)
inlineoverridevirtual

Reimplemented from TFormLeafInfo.

Definition at line 74 of file TFormLeafInfoReference.h.

◆ ReadValueLongDouble()

LongDouble_t TFormLeafInfoReference::ReadValueLongDouble ( char *  where,
Int_t  instance = 0 
)
inlineoverridevirtual

Reimplemented from TFormLeafInfo.

Definition at line 74 of file TFormLeafInfoReference.h.

◆ SetBranch()

void TFormLeafInfoReference::SetBranch ( TBranch *  branch)
inlineoverridevirtual

Access to the info's connected branch.

Reimplemented from TFormLeafInfo.

Definition at line 44 of file TFormLeafInfoReference.h.

◆ Swap()

void TFormLeafInfoReference::Swap ( TFormLeafInfoReference &  other)

Exception safe swap.

Definition at line 62 of file TFormLeafInfoReference.cxx.

◆ Update()

Bool_t TFormLeafInfoReference::Update ( )
overridevirtual

TFormLeafInfo overload: Update (and propagate) cached information.

Reimplemented from TFormLeafInfo.

Definition at line 157 of file TFormLeafInfoReference.cxx.

Member Data Documentation

◆ fBranch

TBranch* TFormLeafInfoReference::fBranch

! Cached pointer to branch object

Definition at line 24 of file TFormLeafInfoReference.h.

◆ fProxy

Proxy* TFormLeafInfoReference::fProxy

! Cached pointer to reference proxy

Definition at line 23 of file TFormLeafInfoReference.h.

Libraries for TFormLeafInfoReference:

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