Logo ROOT  
Reference Guide
TFormLeafInfo.h
Go to the documentation of this file.
1 // @(#)root/treeplayer:$Id$
2 // Author: Philippe Canal 01/06/2004
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers and al. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TFormLeafInfo
13 #define ROOT_TFormLeafInfo
14 
15 #include "TObject.h"
16 
17 #include "TLeafElement.h"
18 
19 #include "TArrayI.h"
20 #include "TDataType.h"
21 #include "TStreamerInfo.h"
22 #include "TStreamerElement.h"
23 
24 
25 // declare the extra versions of GetValue() plus templated implementation
26 #define DECLARE_GETVAL \
27  virtual Double_t GetValue(TLeaf *leaf, Int_t instance = 0) \
28  { return GetValueImpl<Double_t>(leaf, instance); } \
29  virtual Long64_t GetValueLong64(TLeaf *leaf, Int_t instance = 0) \
30  { return GetValueImpl<Long64_t>(leaf, instance); } \
31  virtual LongDouble_t GetValueLongDouble(TLeaf *leaf, Int_t instance = 0) \
32  { return GetValueImpl<LongDouble_t>(leaf, instance); } \
33  template<typename T> T GetValueImpl(TLeaf *leaf, Int_t instance = 0) // no semicolon
34 
35 
36 // declare the extra versions of ReadValue() plus templated implementation
37 #define DECLARE_READVAL \
38  virtual Double_t ReadValue(char *where, Int_t instance = 0) \
39  { return ReadValueImpl<Double_t>(where, instance); } \
40  virtual Long64_t ReadValueLong64(char *where, Int_t instance = 0) \
41  { return ReadValueImpl<Long64_t>(where, instance); } \
42  virtual LongDouble_t ReadValueLongDouble(char *where, Int_t instance = 0) \
43  { return ReadValueImpl<LongDouble_t>(where, instance); } \
44  template<typename T> T ReadValueImpl(char *where, Int_t instance = 0) // no semicolon
45 
46 
47 
48 
49 class TFormLeafInfo : public TObject {
50 public:
51  // Constructors
52  TFormLeafInfo(TClass* classptr = 0, Long_t offset = 0,
53  TStreamerElement* element = 0);
54  TFormLeafInfo(const TFormLeafInfo& orig);
55  virtual TFormLeafInfo* DeepCopy() const;
56  virtual ~TFormLeafInfo();
57 
58  void Swap(TFormLeafInfo &other);
60 
61  // Data Members
62  TClass *fClass; //! This is the class of the data pointed to
63  //TStreamerInfo *fInfo; //! == fClass->GetStreamerInfo()
64  Long_t fOffset; //! Offset of the data pointed inside the class fClass
65  TStreamerElement *fElement; //! Descriptor of the data pointed to.
66  //Warning, the offset in fElement is NOT correct because it does not take into
67  //account base classes and nested objects (which fOffset does).
69  TFormLeafInfo *fNext; // follow this to grab the inside information
72 
73 protected:
75 public:
76 
77  virtual void AddOffset(Int_t offset, TStreamerElement* element);
78 
79  virtual Int_t GetArrayLength();
80  virtual TClass* GetClass() const;
81  virtual Int_t GetCounterValue(TLeaf* leaf);
82  virtual Int_t ReadCounterValue(char *where);
83 
85 
87 
88  // Currently only implemented in TFormLeafInfoCast
89  Int_t GetNdata(TLeaf* leaf);
90  virtual Int_t GetNdata();
91 
92  virtual void *GetValuePointer(TLeaf *leaf, Int_t instance = 0);
93  virtual void *GetValuePointer(char *from, Int_t instance = 0);
94  virtual void *GetLocalValuePointer(TLeaf *leaf, Int_t instance = 0);
95  virtual void *GetLocalValuePointer( char *from, Int_t instance = 0);
96 
97  virtual Bool_t HasCounter() const;
98  virtual Bool_t IsString() const;
99 
100  virtual Bool_t IsInteger() const;
101  virtual Bool_t IsReference() const { return kFALSE; }
102 
103  // Method for multiple variable dimensions.
104  virtual Int_t GetPrimaryIndex();
105  virtual Int_t GetVarDim();
106  virtual Int_t GetVirtVarDim();
107  virtual Int_t GetSize(Int_t index);
108  virtual Int_t GetSumOfSizes();
109  virtual void LoadSizes(TBranch* branch);
110  virtual void SetPrimaryIndex(Int_t index);
111  virtual void SetSecondaryIndex(Int_t index);
112  virtual void SetSize(Int_t index, Int_t val);
113  virtual void SetBranch(TBranch* br) { if ( fNext ) fNext->SetBranch(br); }
114  virtual void UpdateSizes(TArrayI *garr);
115 
116  virtual Bool_t Update();
117 
120 
121  template <typename T> struct ReadValueHelper {
122  static T Exec(TFormLeafInfo *leaf, char *where, Int_t instance) {
123  return leaf->ReadValue(where, instance);
124  }
125  };
126  template <typename T > T ReadTypedValue(char *where, Int_t instance = 0) {
127  return ReadValueHelper<T>::Exec(this, where, instance);
128  }
129 
130  template <typename T> struct GetValueHelper {
131  static T Exec(TFormLeafInfo *linfo, TLeaf *leaf, Int_t instance) {
132  return linfo->GetValue(leaf, instance);
133  }
134  };
135  template <typename T > T GetTypedValue(TLeaf *leaf, Int_t instance = 0) {
136  return GetValueHelper<T>::Exec(this, leaf, instance);
137  }
138 };
139 
140 
142  static Long64_t Exec(TFormLeafInfo *leaf, char *where, Int_t instance) { return leaf->ReadValueLong64(where, instance); }
143 };
145  static ULong64_t Exec(TFormLeafInfo *leaf, char *where, Int_t instance) { return (ULong64_t)leaf->ReadValueLong64(where, instance); }
146 };
148  static LongDouble_t Exec(TFormLeafInfo *leaf, char *where, Int_t instance) { return leaf->ReadValueLongDouble(where, instance); }
149 };
150 
152  static Long64_t Exec(TFormLeafInfo *linfo, TLeaf *leaf, Int_t instance) { return linfo->GetValueLong64(leaf, instance); }
153 };
155  static ULong64_t Exec(TFormLeafInfo *linfo, TLeaf *leaf, Int_t instance) { return (ULong64_t)linfo->GetValueLong64(leaf, instance); }
156 };
158  static LongDouble_t Exec(TFormLeafInfo *linfo, TLeaf *leaf, Int_t instance) { return linfo->GetValueLongDouble(leaf, instance); }
159 };
160 
161 // TFormLeafInfoDirect is a small helper class to implement reading a data
162 // member on an object stored in a TTree.
163 
165 public:
167  // The implicit default constructor's implementation is correct.
168 
169  virtual TFormLeafInfo* DeepCopy() const;
170 
172  virtual void *GetLocalValuePointer(TLeaf *leaf, Int_t instance = 0);
173  virtual void *GetLocalValuePointer(char *thisobj, Int_t instance = 0);
174 
175  virtual Double_t ReadValue(char * /*where*/, Int_t /*instance*/= 0);
176  virtual Long64_t ReadValueLong64(char *where, Int_t i= 0) { return ReadValue(where, i); }
177  virtual LongDouble_t ReadValueLongDouble(char *where, Int_t i= 0) { return ReadValue(where, i); }
178 
179 };
180 
181 // TFormLeafInfoNumerical is a small helper class to implement reading a
182 // numerical value inside a collection
183 
187 public:
191 
192  virtual TFormLeafInfo* DeepCopy() const;
193  void Swap(TFormLeafInfoNumerical &other);
195 
196  virtual ~TFormLeafInfoNumerical();
197 
198  virtual Bool_t IsString() const;
199  virtual Bool_t Update();
200 };
201 
202 // TFormLeafInfoCollectionObject
203 // This class is used when we are interested by the collection it self and
204 // it is split.
205 
207  Bool_t fTop; //If true, it indicates that the branch itself contains
208 public:
211 
212  void Swap(TFormLeafInfoCollectionObject &other);
214 
215  virtual TFormLeafInfo* DeepCopy() const {
216  return new TFormLeafInfoCollectionObject(*this);
217  }
218 
220  virtual Int_t GetCounterValue(TLeaf* leaf);
221  virtual Double_t ReadValue(char *where, Int_t instance = 0);
222  virtual Long64_t ReadValueLong64(char *where, Int_t i= 0) { return ReadValue(where, i); }
223  virtual LongDouble_t ReadValueLongDouble(char *where, Int_t i= 0) { return ReadValue(where, i); }
224  virtual void *GetValuePointer(TLeaf *leaf, Int_t instance = 0);
225  virtual void *GetValuePointer(char *thisobj, Int_t instance = 0);
226  virtual void *GetLocalValuePointer(TLeaf *leaf, Int_t instance = 0);
227  virtual void *GetLocalValuePointer(char *thisobj, Int_t instance = 0);
228 };
229 
230 // TFormLeafInfoClones is a small helper class to implement reading a data
231 // member on a TClonesArray object stored in a TTree.
232 
234  Bool_t fTop; //If true, it indicates that the branch itself contains
235 public:
236  //either the clonesArrays or something inside the clonesArray
237  TFormLeafInfoClones(TClass* classptr = 0, Long_t offset = 0);
238  TFormLeafInfoClones(TClass* classptr, Long_t offset, Bool_t top);
239  TFormLeafInfoClones(TClass* classptr, Long_t offset, TStreamerElement* element,
240  Bool_t top = kFALSE);
242 
243  void Swap(TFormLeafInfoClones &other);
245 
246  virtual TFormLeafInfo* DeepCopy() const {
247  return new TFormLeafInfoClones(*this);
248  }
249 
252  virtual Int_t GetCounterValue(TLeaf* leaf);
253  virtual Int_t ReadCounterValue(char *where);
254  virtual void *GetValuePointer(TLeaf *leaf, Int_t instance = 0);
255  virtual void *GetValuePointer(char *thisobj, Int_t instance = 0);
256  virtual void *GetLocalValuePointer(TLeaf *leaf, Int_t instance = 0);
257  virtual void *GetLocalValuePointer(char *thisobj, Int_t instance = 0);
258 };
259 
260 // TFormLeafInfoCollection is a small helper class to implement reading a data member
261 // on a generic collection object stored in a TTree.
262 
264  Bool_t fTop; //If true, it indicates that the branch itself contains
265  //either the clonesArrays or something inside the clonesArray
270 public:
271 
273  Long_t offset,
274  TStreamerElement* element,
275  Bool_t top = kFALSE);
276 
277  TFormLeafInfoCollection(TClass* motherclassptr,
278  Long_t offset = 0,
279  TClass* elementclassptr = 0,
280  Bool_t top = kFALSE);
281 
284 
286 
287  void Swap(TFormLeafInfoCollection &other);
289 
290  virtual TFormLeafInfo* DeepCopy() const;
291 
292  virtual Bool_t Update();
293 
296  virtual Int_t GetCounterValue(TLeaf* leaf);
297  virtual Int_t ReadCounterValue(char* where);
298  virtual Int_t GetCounterValue(TLeaf* leaf, Int_t instance);
299  virtual Bool_t HasCounter() const;
300  virtual void *GetValuePointer(TLeaf *leaf, Int_t instance = 0);
301  virtual void *GetValuePointer(char *thisobj, Int_t instance = 0);
302  virtual void *GetLocalValuePointer(TLeaf *leaf, Int_t instance = 0);
303  virtual void *GetLocalValuePointer(char *thisobj, Int_t instance = 0);
304 };
305 
306 // TFormLeafInfoCollectionSize is used to return the size of a collection
307 
312 public:
314  TFormLeafInfoCollectionSize(TClass* classptr,Long_t offset,TStreamerElement* element);
317 
319 
320  void Swap(TFormLeafInfoCollectionSize &other);
322 
323  virtual TFormLeafInfo* DeepCopy() const;
324 
325  virtual Bool_t Update();
326 
327  virtual void *GetValuePointer(TLeaf *leaf, Int_t instance = 0);
328  virtual void *GetValuePointer(char *from, Int_t instance = 0);
329  virtual void *GetLocalValuePointer(TLeaf *leaf, Int_t instance = 0);
330  virtual void *GetLocalValuePointer( char *from, Int_t instance = 0);
331  virtual Double_t ReadValue(char *where, Int_t instance = 0);
332  virtual Long64_t ReadValueLong64(char *where, Int_t i= 0) { return ReadValue(where, i); }
333  virtual LongDouble_t ReadValueLongDouble(char *where, Int_t i= 0) { return ReadValue(where, i); }
334 };
335 
336 // TFormLeafInfoPointer is a small helper class to implement reading a data
337 // member by following a pointer inside a branch of TTree.
338 
340 public:
341  TFormLeafInfoPointer(TClass* classptr = 0, Long_t offset = 0,
342  TStreamerElement* element = 0);
343  // The default copy constructor is the right implementation.
344 
345  virtual TFormLeafInfo* DeepCopy() const;
346 
349 };
350 
351 // TFormLeafInfoMethod is a small helper class to implement executing a method
352 // of an object stored in a TTree
353 
355 
364 
365 public:
366  static TClass *ReturnTClass(TMethodCall *mc);
367 
368  TFormLeafInfoMethod(TClass* classptr = 0, TMethodCall *method = 0);
371 
372  void Swap(TFormLeafInfoMethod &other);
374 
375  virtual TFormLeafInfo* DeepCopy() const;
376 
378  virtual TClass* GetClass() const;
379  virtual void *GetLocalValuePointer( TLeaf *from, Int_t instance = 0);
380  virtual void *GetLocalValuePointer(char *from, Int_t instance = 0);
381  virtual Bool_t IsInteger() const;
382  virtual Bool_t IsString() const;
383  virtual Bool_t Update();
384 };
385 
386 // TFormLeafInfoMultiVarDim is a small helper class to implement reading a
387 // data member on a variable size array inside a TClonesArray object stored in
388 // a TTree. This is the version used when the data member is inside a
389 // non-split object.
390 
392 public:
394  TArrayI fSizes; // Array of sizes of the variable dimension
395  TFormLeafInfo *fCounter2; // Information on how to read the secondary dimensions
396  Int_t fSumOfSizes; // Sum of the content of fSizes
397  Int_t fDim; // physical number of the dimension that is variable
398  Int_t fVirtDim; // number of the virtual dimension to which this object correspond.
399  Int_t fPrimaryIndex; // Index of the dimensions that is indexing the second dimension's size
400  Int_t fSecondaryIndex; // Index of the second dimension
401 
402 protected:
404  TStreamerElement* element) : TFormLeafInfo(classptr,offset,element),fNsize(0),fSizes(),fCounter2(0),fSumOfSizes(0),fDim(0),fVirtDim(0),fPrimaryIndex(-1),fSecondaryIndex(-1) {}
405 
406 public:
407  TFormLeafInfoMultiVarDim(TClass* classptr, Long_t offset,
408  TStreamerElement* element, TFormLeafInfo* parent);
412 
413  void Swap(TFormLeafInfoMultiVarDim &other);
415 
416  virtual TFormLeafInfo* DeepCopy() const;
417 
418  /* The proper indexing and unwinding of index is done by prior leafinfo in the chain. */
419  //virtual Double_t ReadValue(char *where, Int_t instance = 0) {
420  // return TFormLeafInfo::ReadValue(where,instance);
421  //}
422 
423  virtual void LoadSizes(TBranch* branch);
424  virtual Int_t GetPrimaryIndex();
425  virtual void SetPrimaryIndex(Int_t index);
426  virtual void SetSecondaryIndex(Int_t index);
427  virtual void SetSize(Int_t index, Int_t val);
428  virtual Int_t GetSize(Int_t index);
429  virtual Int_t GetSumOfSizes();
430  virtual Double_t GetValue(TLeaf * /*leaf*/, Int_t /*instance*/ = 0);
431  virtual Long64_t GetValueLong64(TLeaf *leaf, Int_t i= 0) { return GetValue(leaf, i); }
432  virtual LongDouble_t GetValueLongDouble(TLeaf *leaf, Int_t i= 0) { return GetValue(leaf, i); }
433  virtual Int_t GetVarDim();
434  virtual Int_t GetVirtVarDim();
435  virtual Bool_t Update();
436  virtual void UpdateSizes(TArrayI *garr);
437 };
438 
439 // TFormLeafInfoMultiVarDimDirect is a small helper class to implement reading
440 // a data member on a variable size array inside a TClonesArray object stored
441 // in a TTree. This is the version used for split access
442 
444 public:
445  // The default constructor are the correct implementation.
446 
447  virtual TFormLeafInfo* DeepCopy() const;
448 
450  virtual Double_t ReadValue(char * /*where*/, Int_t /*instance*/ = 0);
451  virtual Long64_t ReadValueLong64(char *where, Int_t i= 0) { return ReadValue(where, i); }
452  virtual LongDouble_t ReadValueLongDouble(char *where, Int_t i= 0) { return ReadValue(where, i); }
453 };
454 
455 // TFormLeafInfoMultiVarDimCollection is a small helper class to implement reading
456 // a data member which is a collection inside a TClonesArray or collection object
457 // stored in a TTree. This is the version used for split access
458 //
460 public:
461  TFormLeafInfoMultiVarDimCollection(TClass* motherclassptr, Long_t offset,
462  TClass* elementclassptr, TFormLeafInfo *parent);
464  TStreamerElement* element, TFormLeafInfo* parent);
465  // The default copy constructor is the right implementation.
466 
467  virtual TFormLeafInfo* DeepCopy() const;
468 
469  virtual Int_t GetArrayLength() { return 0; }
470  virtual void LoadSizes(TBranch* branch);
471  virtual Double_t GetValue(TLeaf *leaf, Int_t instance = 0);
472  virtual Long64_t GetValueLong64(TLeaf *leaf, Int_t i= 0) { return GetValue(leaf, i); }
473  virtual LongDouble_t GetValueLongDouble(TLeaf *leaf, Int_t i= 0) { return GetValue(leaf, i); }
475 };
476 
477 // TFormLeafInfoMultiVarDimClones is a small helper class to implement reading
478 // a data member which is a TClonesArray inside a TClonesArray or collection object
479 // stored in a TTree. This is the version used for split access
480 //
482 public:
483  TFormLeafInfoMultiVarDimClones(TClass* motherclassptr, Long_t offset,
484  TClass* elementclassptr, TFormLeafInfo *parent);
485  TFormLeafInfoMultiVarDimClones(TClass* classptr, Long_t offset,
486  TStreamerElement* element, TFormLeafInfo* parent);
487  // The default copy constructor is the right implementation.
488 
489  virtual TFormLeafInfo* DeepCopy() const;
490 
491  virtual Int_t GetArrayLength() { return 0; }
492  virtual void LoadSizes(TBranch* branch);
493  virtual Double_t GetValue(TLeaf *leaf, Int_t instance = 0);
494  virtual Long64_t GetValueLong64(TLeaf *leaf, Int_t i= 0) { return GetValue(leaf, i); }
495  virtual LongDouble_t GetValueLongDouble(TLeaf *leaf, Int_t i= 0) { return GetValue(leaf, i); }
497 };
498 
499 // TFormLeafInfoCast is a small helper class to implement casting an object to
500 // a different type (equivalent to dynamic_cast)
501 
503 public:
504  TClass *fCasted; //! Pointer to the class we are trying to case to
505  TString fCastedName; //! Name of the class we are casting to.
506  Bool_t fGoodCast; //! Marked by ReadValue.
507  Bool_t fIsTObject; //! Indicated whether the fClass inherits from TObject.
508 
509  TFormLeafInfoCast(TClass* classptr = 0, TClass* casted = 0);
511  virtual ~TFormLeafInfoCast();
512 
513  void Swap(TFormLeafInfoCast &other);
515 
516  virtual TFormLeafInfo* DeepCopy() const;
517 
519  // Currently only implemented in TFormLeafInfoCast
520  virtual Int_t GetNdata();
521  virtual Bool_t Update();
522 };
523 
524 // TFormLeafInfoTTree is a small helper class to implement reading
525 // from the containing TTree object itself.
526 
531 
532 public:
533  TFormLeafInfoTTree(TTree *tree = 0, const char *alias = 0, TTree *current = 0);
535 
536  void Swap(TFormLeafInfoTTree &other);
538 
539  virtual TFormLeafInfo* DeepCopy() const;
540 
542  using TFormLeafInfo::GetValue;
543 
546  virtual void *GetLocalValuePointer(TLeaf *leaf, Int_t instance = 0);
547  virtual Bool_t Update();
548 };
549 
550 
551 #endif /* ROOT_TFormLeafInfo */
552 
TFormLeafInfoCast::TFormLeafInfoCast
TFormLeafInfoCast(TClass *classptr=0, TClass *casted=0)
Indicated whether the fClass inherits from TObject.
Definition: TFormLeafInfo.cxx:2873
TFormLeafInfoMultiVarDimCollection
A small helper class to implement reading a data member on a variable size array inside a TClonesArra...
Definition: TFormLeafInfo.h:459
TFormLeafInfoDirect::TFormLeafInfoDirect
TFormLeafInfoDirect(TBranchElement *from)
Constructor.
Definition: TFormLeafInfo.cxx:943
TFormLeafInfoMultiVarDimCollection::DECLARE_READVAL
DECLARE_READVAL
Definition: TFormLeafInfo.h:474
TFormLeafInfoMethod::IsString
virtual Bool_t IsString() const
Return true if the return value is a string.
Definition: TFormLeafInfo.cxx:2242
TFormLeafInfo::fCounter
TFormLeafInfo * fCounter
Descriptor of the data pointed to.
Definition: TFormLeafInfo.h:68
TFormLeafInfoCast::Swap
void Swap(TFormLeafInfoCast &other)
Exception safe swap.
Definition: TFormLeafInfo.cxx:2896
TFormLeafInfo::DeepCopy
virtual TFormLeafInfo * DeepCopy() const
Make a complete copy of this FormLeafInfo and all its content.
Definition: TFormLeafInfo.cxx:127
TFormLeafInfoCollection::DECLARE_READVAL
DECLARE_READVAL
Definition: TFormLeafInfo.h:295
TFormLeafInfo::SetSecondaryIndex
virtual void SetSecondaryIndex(Int_t index)
Set the primary index value.
Definition: TFormLeafInfo.cxx:483
TFormLeafInfo::ReadValueHelper< Long64_t >::Exec
static Long64_t Exec(TFormLeafInfo *leaf, char *where, Int_t instance)
Definition: TFormLeafInfo.h:142
TFormLeafInfoMultiVarDim::fPrimaryIndex
Int_t fPrimaryIndex
Definition: TFormLeafInfo.h:399
TFormLeafInfoNumerical::operator=
TFormLeafInfoNumerical & operator=(const TFormLeafInfoNumerical &orig)
Exception safe assignment operator.
Definition: TFormLeafInfo.cxx:1055
kTRUE
const Bool_t kTRUE
Definition: RtypesCore.h:91
TFormLeafInfoCollectionObject::GetValuePointer
virtual void * GetValuePointer(TLeaf *leaf, Int_t instance=0)
Return the pointer to the clonesArray.
Definition: TFormLeafInfo.cxx:1428
TFormLeafInfoMultiVarDimClones::DECLARE_READVAL
DECLARE_READVAL
Definition: TFormLeafInfo.h:496
TFormLeafInfo::GetValuePointer
virtual void * GetValuePointer(TLeaf *leaf, Int_t instance=0)
returns the address of the value pointed to by the serie of TFormLeafInfo.
Definition: TFormLeafInfo.cxx:619
TFormLeafInfoCast::fCasted
TClass * fCasted
Definition: TFormLeafInfo.h:504
TFormLeafInfoDirect::DeepCopy
virtual TFormLeafInfo * DeepCopy() const
Copy this object and its content.
Definition: TFormLeafInfo.cxx:952
TFormLeafInfoCollectionSize::Swap
void Swap(TFormLeafInfoCollectionSize &other)
Exception safe swap.
Definition: TFormLeafInfo.cxx:1878
TFormLeafInfoMultiVarDim::Swap
void Swap(TFormLeafInfoMultiVarDim &other)
Exception safe swap.
Definition: TFormLeafInfo.cxx:2426
TFormLeafInfo::fNext
TFormLeafInfo * fNext
Definition: TFormLeafInfo.h:69
TFormLeafInfoMethod::operator=
TFormLeafInfoMethod & operator=(const TFormLeafInfoMethod &orig)
Exception safe assignment operator.
Definition: TFormLeafInfo.cxx:2156
TFormLeafInfoNumerical::DeepCopy
virtual TFormLeafInfo * DeepCopy() const
Copy the object and all its content.
Definition: TFormLeafInfo.cxx:1065
TStreamerInfo.h
TBranchElement
A Branch for the case of an object.
Definition: TBranchElement.h:39
TFormLeafInfoMultiVarDimCollection::GetArrayLength
virtual Int_t GetArrayLength()
Return the current length of the array.
Definition: TFormLeafInfo.h:469
TFormLeafInfoMultiVarDim::fSizes
TArrayI fSizes
Definition: TFormLeafInfo.h:394
TFormLeafInfoCollectionSize::ReadValue
virtual Double_t ReadValue(char *where, Int_t instance=0)
Return the value of the underlying pointer data member.
Definition: TFormLeafInfo.cxx:1961
TFormLeafInfo::GetSize
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 var...
Definition: TFormLeafInfo.cxx:448
TFormLeafInfoCollection::TFormLeafInfoCollection
TFormLeafInfoCollection()
Constructor.
Definition: TFormLeafInfo.cxx:1519
TFormLeafInfoMultiVarDimCollection::DeepCopy
virtual TFormLeafInfo * DeepCopy() const
Copy the object and all its content.
Definition: TFormLeafInfo.cxx:2698
TFormLeafInfoMultiVarDim::SetSize
virtual void SetSize(Int_t index, Int_t val)
Set the sizes of the sub-array.
Definition: TFormLeafInfo.cxx:2539
TFormLeafInfoClones::operator=
TFormLeafInfoClones & operator=(const TFormLeafInfoClones &orig)
Exception safe assignement operator.
Definition: TFormLeafInfo.cxx:1161
TFormLeafInfo::GetClass
virtual TClass * GetClass() const
Get the class of the underlying data.
Definition: TFormLeafInfo.cxx:173
TFormLeafInfoMethod::GetLocalValuePointer
virtual void * GetLocalValuePointer(TLeaf *from, Int_t instance=0)
This is implemented here because some compiler want ALL the signature of an overloaded function to be...
Definition: TFormLeafInfo.cxx:2267
tree
Definition: tree.py:1
TFormLeafInfoCast::DECLARE_READVAL
DECLARE_READVAL
Definition: TFormLeafInfo.h:518
TStreamerElement.h
TFormLeafInfo::GetObjectAddress
char * GetObjectAddress(TLeafElement *leaf, Int_t &instance)
Returns the the location of the object pointed to.
Definition: TFormLeafInfo.cxx:184
Long64_t
long long Long64_t
Definition: RtypesCore.h:73
TFormLeafInfoMultiVarDimDirect::DECLARE_GETVAL
DECLARE_GETVAL
Definition: TFormLeafInfo.h:449
TFormLeafInfoTTree::TFormLeafInfoTTree
TFormLeafInfoTTree(TTree *tree=0, const char *alias=0, TTree *current=0)
Definition: TFormLeafInfo.cxx:2986
TFormLeafInfo::GetNdata
virtual Int_t GetNdata()
Get the number of element in the entry.
Definition: TFormLeafInfo.cxx:332
TFormLeafInfo::GetLocalValuePointer
virtual void * GetLocalValuePointer(TLeaf *leaf, Int_t instance=0)
returns the address of the value pointed to by the TFormLeafInfo.
Definition: TFormLeafInfo.cxx:603
TTree
A TTree represents a columnar dataset.
Definition: TTree.h:79
TFormLeafInfoDirect::ReadValueLongDouble
virtual LongDouble_t ReadValueLongDouble(char *where, Int_t i=0)
Definition: TFormLeafInfo.h:177
TFormLeafInfoTTree::fCurrent
TTree * fCurrent
Definition: TFormLeafInfo.h:529
TFormLeafInfoCollection::~TFormLeafInfoCollection
~TFormLeafInfoCollection()
Destructor.
Definition: TFormLeafInfo.cxx:1567
TFormLeafInfoMultiVarDim::SetPrimaryIndex
virtual void SetPrimaryIndex(Int_t index)
Set the current value of the primary index.
Definition: TFormLeafInfo.cxx:2523
TFormLeafInfoCollectionSize::fCollProxy
TVirtualCollectionProxy * fCollProxy
Definition: TFormLeafInfo.h:311
TFormLeafInfoMethod::Swap
void Swap(TFormLeafInfoMethod &other)
Exception safe swap.
Definition: TFormLeafInfo.cxx:2140
TFormLeafInfoMultiVarDimDirect::ReadValue
virtual Double_t ReadValue(char *, Int_t=0)
Not implemented.
Definition: TFormLeafInfo.cxx:2637
TFormLeafInfo::ReadCounterValue
virtual Int_t ReadCounterValue(char *where)
Return the size of the underlying array for the current entry in the TTree.
Definition: TFormLeafInfo.cxx:588
TFormLeafInfoMultiVarDim::GetValueLong64
virtual Long64_t GetValueLong64(TLeaf *leaf, Int_t i=0)
Definition: TFormLeafInfo.h:431
Int_t
int Int_t
Definition: RtypesCore.h:45
TFormLeafInfoClones::TFormLeafInfoClones
TFormLeafInfoClones(TClass *classptr=0, Long_t offset=0)
Constructor.
Definition: TFormLeafInfo.cxx:1117
TFormLeafInfoCollectionObject::operator=
TFormLeafInfoCollectionObject & operator=(const TFormLeafInfoCollectionObject &orig)
Exception safe assignement operator.
Definition: TFormLeafInfo.cxx:1359
TFormLeafInfo::ReadValueHelper< ULong64_t >::Exec
static ULong64_t Exec(TFormLeafInfo *leaf, char *where, Int_t instance)
Definition: TFormLeafInfo.h:145
TFormLeafInfo::GetMultiplicity
Int_t GetMultiplicity()
Reminder of the meaning of fMultiplicity:
Definition: TFormLeafInfo.cxx:314
TFormLeafInfoNumerical::Update
virtual Bool_t Update()
We reloading all cached information in case the underlying class information has changed (for example...
Definition: TFormLeafInfo.cxx:1092
TFormLeafInfoDirect
A small helper class to implement reading a data member on an object stored in a TTree.
Definition: TFormLeafInfo.h:164
TFormLeafInfo::DECLARE_READVAL
DECLARE_READVAL
Definition: TFormLeafInfo.h:119
TFormLeafInfoNumerical::TFormLeafInfoNumerical
TFormLeafInfoNumerical(TVirtualCollectionProxy *holder_of)
Construct a TFormLeafInfo for the numerical type contained in the collection.
Definition: TFormLeafInfo.cxx:1014
TFormLeafInfo::fElement
TStreamerElement * fElement
Offset of the data pointed inside the class fClass.
Definition: TFormLeafInfo.h:65
TFormLeafInfoDirect::GetLocalValuePointer
virtual void * GetLocalValuePointer(TLeaf *leaf, Int_t instance=0)
Return the address of the underlying value.
Definition: TFormLeafInfo.cxx:980
TFormLeafInfo::GetCounterValue
virtual Int_t GetCounterValue(TLeaf *leaf)
Return the size of the underlying array for the current entry in the TTree.
Definition: TFormLeafInfo.cxx:575
TFormLeafInfoCast::operator=
TFormLeafInfoCast & operator=(const TFormLeafInfoCast &orig)
Exception safe assignment operator.
Definition: TFormLeafInfo.cxx:2908
TFormLeafInfoClones::GetLocalValuePointer
virtual void * GetLocalValuePointer(TLeaf *leaf, Int_t instance=0)
Return the pointer to the clonesArray.
Definition: TFormLeafInfo.cxx:1227
TFormLeafInfoNumerical::IsString
virtual Bool_t IsString() const
Return true if the underlying data is a string.
Definition: TFormLeafInfo.cxx:1081
TFormLeafInfoCollectionSize::GetLocalValuePointer
virtual void * GetLocalValuePointer(TLeaf *leaf, Int_t instance=0)
Not implemented.
Definition: TFormLeafInfo.cxx:1943
TFormLeafInfoPointer::DECLARE_GETVAL
DECLARE_GETVAL
Definition: TFormLeafInfo.h:347
TFormLeafInfoDirect::DECLARE_GETVAL
DECLARE_GETVAL
Definition: TFormLeafInfo.h:171
TFormLeafInfo::LoadSizes
virtual void LoadSizes(TBranch *branch)
Load the current array sizes.
Definition: TFormLeafInfo.cxx:467
TFormLeafInfoMultiVarDimDirect
A small helper class to implement reading a data member on a variable size array inside a TClonesArra...
Definition: TFormLeafInfo.h:443
TFormLeafInfoTTree::fTree
TTree * fTree
Definition: TFormLeafInfo.h:528
TFormLeafInfoMultiVarDimDirect::ReadValueLong64
virtual Long64_t ReadValueLong64(char *where, Int_t i=0)
Definition: TFormLeafInfo.h:451
TFormLeafInfo::fElementName
TString fElementName
Definition: TFormLeafInfo.h:71
TLeafElement
A TLeaf for the general case when using the branches created via a TStreamerInfo (i....
Definition: TLeafElement.h:32
TFormLeafInfoCollectionObject::TFormLeafInfoCollectionObject
TFormLeafInfoCollectionObject(TClass *classptr=0, Bool_t fTop=kTRUE)
Constructor.
Definition: TFormLeafInfo.cxx:1334
TFormLeafInfo::ReadTypedValue
T ReadTypedValue(char *where, Int_t instance=0)
Definition: TFormLeafInfo.h:126
TFormLeafInfoMethod::fIsByValue
Bool_t fIsByValue
Definition: TFormLeafInfo.h:363
TFormLeafInfoClones::GetValuePointer
virtual void * GetValuePointer(TLeaf *leaf, Int_t instance=0)
Return the pointer to the clonesArray.
Definition: TFormLeafInfo.cxx:1283
TFormLeafInfoMethod::fValuePointer
void * fValuePointer
Definition: TFormLeafInfo.h:362
TString
Basic string class.
Definition: TString.h:136
TFormLeafInfoMethod::IsInteger
virtual Bool_t IsInteger() const
Return true if the return value is integral.
Definition: TFormLeafInfo.cxx:2231
Bool_t
bool Bool_t
Definition: RtypesCore.h:63
TFormLeafInfoCollectionSize::Update
virtual Bool_t Update()
We reloading all cached information in case the underlying class information has changed (for example...
Definition: TFormLeafInfo.cxx:1907
TFormLeafInfoMethod::~TFormLeafInfoMethod
~TFormLeafInfoMethod()
Destructor.
Definition: TFormLeafInfo.cxx:2166
TFormLeafInfoClones::DECLARE_GETVAL
DECLARE_GETVAL
Definition: TFormLeafInfo.h:250
TFormLeafInfo::DECLARE_GETVAL
DECLARE_GETVAL
Definition: TFormLeafInfo.h:118
TFormLeafInfoMethod::fMethod
TMethodCall * fMethod
Definition: TFormLeafInfo.h:356
bool
TFormLeafInfoMethod::fParams
TString fParams
Definition: TFormLeafInfo.h:358
TFormLeafInfoMultiVarDimClones::GetValue
virtual Double_t GetValue(TLeaf *leaf, Int_t instance=0)
Definition: TFormLeafInfo.cxx:2815
TFormLeafInfoMultiVarDimClones::TFormLeafInfoMultiVarDimClones
TFormLeafInfoMultiVarDimClones(TClass *motherclassptr, Long_t offset, TClass *elementclassptr, TFormLeafInfo *parent)
Constructor.
Definition: TFormLeafInfo.cxx:2762
TFormLeafInfo::IsInteger
virtual Bool_t IsInteger() const
Return true if the underlying data is an integral value.
Definition: TFormLeafInfo.cxx:374
TFormLeafInfoMultiVarDimCollection::TFormLeafInfoMultiVarDimCollection
TFormLeafInfoMultiVarDimCollection(TClass *motherclassptr, Long_t offset, TClass *elementclassptr, TFormLeafInfo *parent)
Constructor.
Definition: TFormLeafInfo.cxx:2652
TFormLeafInfoMultiVarDim::fVirtDim
Int_t fVirtDim
Definition: TFormLeafInfo.h:398
TFormLeafInfo::GetValueHelper< LongDouble_t >::Exec
static LongDouble_t Exec(TFormLeafInfo *linfo, TLeaf *leaf, Int_t instance)
Definition: TFormLeafInfo.h:158
TFormLeafInfoTTree::DECLARE_READVAL
DECLARE_READVAL
Definition: TFormLeafInfo.h:545
TFormLeafInfoMethod::fCopyFormat
TString fCopyFormat
Definition: TFormLeafInfo.h:360
TFormLeafInfoMethod::DeepCopy
virtual TFormLeafInfo * DeepCopy() const
Copy the object and all its content.
Definition: TFormLeafInfo.cxx:2177
TFormLeafInfoTTree::GetLocalValuePointer
virtual void * GetLocalValuePointer(TLeaf *leaf, Int_t instance=0)
returns the address of the value pointed to by the TFormLeafInfo.
Definition: TFormLeafInfo.cxx:603
TFormLeafInfoNumerical::fKind
EDataType fKind
Definition: TFormLeafInfo.h:185
TFormLeafInfoCollection::GetCounterValue
virtual Int_t GetCounterValue(TLeaf *leaf)
Return the current size of the the TClonesArray.
Definition: TFormLeafInfo.cxx:1612
TFormLeafInfoCollectionSize::TFormLeafInfoCollectionSize
TFormLeafInfoCollectionSize()
Constructor.
Definition: TFormLeafInfo.cxx:1849
TFormLeafInfoTTree::DECLARE_GETVAL
DECLARE_GETVAL
Definition: TFormLeafInfo.h:544
TFormLeafInfoTTree::operator=
TFormLeafInfoTTree & operator=(const TFormLeafInfoTTree &orig)
TBranch
A TTree is a list of TBranches.
Definition: TBranch.h:89
TFormLeafInfoMultiVarDim::DeepCopy
virtual TFormLeafInfo * DeepCopy() const
Copy the object and all its content.
Definition: TFormLeafInfo.cxx:2451
TFormLeafInfo::GetVarDim
virtual Int_t GetVarDim()
Return the index of the dimension which varies for each elements of an enclosing array (typically a T...
Definition: TFormLeafInfo.cxx:428
TFormLeafInfoMultiVarDimCollection::LoadSizes
virtual void LoadSizes(TBranch *branch)
Load the current array sizes.
Definition: TFormLeafInfo.cxx:2716
TFormLeafInfo::SetSize
virtual void SetSize(Int_t index, Int_t val)
Set the current size of the arrays.
Definition: TFormLeafInfo.cxx:491
TFormLeafInfoCast::~TFormLeafInfoCast
virtual ~TFormLeafInfoCast()
Destructor.
Definition: TFormLeafInfo.cxx:2926
TDataType.h
TFormLeafInfoClones::DECLARE_READVAL
DECLARE_READVAL
Definition: TFormLeafInfo.h:251
TFormLeafInfo::ReadValueHelper
Definition: TFormLeafInfo.h:121
TFormLeafInfoMultiVarDimClones::DeepCopy
virtual TFormLeafInfo * DeepCopy() const
Copy the object and all its data.
Definition: TFormLeafInfo.cxx:2808
TFormLeafInfoNumerical
A small helper class to implement reading a numerical value inside a collection.
Definition: TFormLeafInfo.h:184
TFormLeafInfo::GetValueHelper< ULong64_t >::Exec
static ULong64_t Exec(TFormLeafInfo *linfo, TLeaf *leaf, Int_t instance)
Definition: TFormLeafInfo.h:155
TFormLeafInfoCollectionObject::ReadValue
virtual Double_t ReadValue(char *where, Int_t instance=0)
Return the value of the underlying data member inside the clones array.
Definition: TFormLeafInfo.cxx:1378
TFormLeafInfo::ReadValueHelper::Exec
static T Exec(TFormLeafInfo *leaf, char *where, Int_t instance)
Definition: TFormLeafInfo.h:122
TFormLeafInfoTTree::fAlias
TString fAlias
Definition: TFormLeafInfo.h:530
TFormLeafInfoMultiVarDim::GetValueLongDouble
virtual LongDouble_t GetValueLongDouble(TLeaf *leaf, Int_t i=0)
Definition: TFormLeafInfo.h:432
TFormLeafInfoCollection::fTop
Bool_t fTop
Definition: TFormLeafInfo.h:264
TFormLeafInfoPointer::DECLARE_READVAL
DECLARE_READVAL
Definition: TFormLeafInfo.h:348
TLeaf
A TLeaf describes individual elements of a TBranch See TBranch structure in TTree.
Definition: TLeaf.h:57
TFormLeafInfoCollection::HasCounter
virtual Bool_t HasCounter() const
Return true if the underlying data has a array size counter.
Definition: TFormLeafInfo.cxx:1604
TFormLeafInfo::GetPrimaryIndex
virtual Int_t GetPrimaryIndex()
Method for multiple variable dimensions.
Definition: TFormLeafInfo.cxx:418
TFormLeafInfoTTree::Update
virtual Bool_t Update()
Update after a change of file in a chain.
Definition: TFormLeafInfo.cxx:3045
TFormLeafInfo::GetValueHelper
Definition: TFormLeafInfo.h:130
TFormLeafInfoCast::fCastedName
TString fCastedName
Pointer to the class we are trying to case to.
Definition: TFormLeafInfo.h:505
TFormLeafInfoMethod::fResult
Double_t fResult
Definition: TFormLeafInfo.h:359
TFormLeafInfoCast::DeepCopy
virtual TFormLeafInfo * DeepCopy() const
Copy the object and all its content.
Definition: TFormLeafInfo.cxx:2918
TFormLeafInfoMethod::fMethodName
TString fMethodName
Definition: TFormLeafInfo.h:357
kFALSE
const Bool_t kFALSE
Definition: RtypesCore.h:92
TFormLeafInfoCollectionObject
A small helper class to implement reading a data member on a TClonesArray object stored in a TTree.
Definition: TFormLeafInfo.h:206
TFormLeafInfoCollectionSize::DeepCopy
virtual TFormLeafInfo * DeepCopy() const
Copy the object and all of its content.
Definition: TFormLeafInfo.cxx:1897
TFormLeafInfoCollection::GetValuePointer
virtual void * GetValuePointer(TLeaf *leaf, Int_t instance=0)
Return the pointer to the clonesArray.
Definition: TFormLeafInfo.cxx:1753
TFormLeafInfoMultiVarDim::SetSecondaryIndex
virtual void SetSecondaryIndex(Int_t index)
Set the current value of the primary index.
Definition: TFormLeafInfo.cxx:2531
TFormLeafInfoCollectionObject::GetCounterValue
virtual Int_t GetCounterValue(TLeaf *leaf)
Return the current size of the the TClonesArray.
Definition: TFormLeafInfo.cxx:1369
Long_t
long Long_t
Definition: RtypesCore.h:54
TFormLeafInfoCollectionSize
Used to return the size of a collection.
Definition: TFormLeafInfo.h:308
TFormLeafInfoCollectionSize::~TFormLeafInfoCollectionSize
~TFormLeafInfoCollectionSize()
Destructor.
Definition: TFormLeafInfo.cxx:1889
TFormLeafInfo::fMultiplicity
Int_t fMultiplicity
Definition: TFormLeafInfo.h:74
TFormLeafInfo::HasCounter
virtual Bool_t HasCounter() const
Return true if any of underlying data has a array size counter.
Definition: TFormLeafInfo.cxx:341
TFormLeafInfoDirect::ReadValueLong64
virtual Long64_t ReadValueLong64(char *where, Int_t i=0)
Definition: TFormLeafInfo.h:176
TFormLeafInfoMultiVarDimClones::GetValueLong64
virtual Long64_t GetValueLong64(TLeaf *leaf, Int_t i=0)
Definition: TFormLeafInfo.h:494
TFormLeafInfoMethod::DECLARE_READVAL
DECLARE_READVAL
Definition: TFormLeafInfo.h:377
TArrayI.h
TFormLeafInfoCast::GetNdata
virtual Int_t GetNdata()
Get the number of element in the entry.
Definition: TFormLeafInfo.cxx:2931
TFormLeafInfoMultiVarDim::LoadSizes
virtual void LoadSizes(TBranch *branch)
Load the current array sizes.
Definition: TFormLeafInfo.cxx:2472
TFormLeafInfoMethod::fDeleteFormat
TString fDeleteFormat
Definition: TFormLeafInfo.h:361
TFormLeafInfoCollection::operator=
TFormLeafInfoCollection & operator=(const TFormLeafInfoCollection &orig)
Exception safe assignment operator.
Definition: TFormLeafInfo.cxx:1557
TFormLeafInfoMultiVarDim::Update
virtual Bool_t Update()
We reloading all cached information in case the underlying class information has changed (for example...
Definition: TFormLeafInfo.cxx:2587
TFormLeafInfoCollection::ReadCounterValue
virtual Int_t ReadCounterValue(char *where)
Return the size of the underlying array for the current entry in the TTree.
Definition: TFormLeafInfo.cxx:1627
TFormLeafInfoMultiVarDimDirect::DeepCopy
virtual TFormLeafInfo * DeepCopy() const
Copy the object and all its content.
Definition: TFormLeafInfo.cxx:2618
TFormLeafInfoCollection::Swap
void Swap(TFormLeafInfoCollection &other)
Exception safe swap.
Definition: TFormLeafInfo.cxx:1544
TFormLeafInfoCollection::Update
virtual Bool_t Update()
We reloading all cached information in case the underlying class information has changed (for example...
Definition: TFormLeafInfo.cxx:1586
TFormLeafInfoCollectionObject::DECLARE_GETVAL
DECLARE_GETVAL
Definition: TFormLeafInfo.h:219
TFormLeafInfoMultiVarDim::GetVarDim
virtual Int_t GetVarDim()
Return the index of the dimension which varies for each elements of an enclosing array (typically a T...
Definition: TFormLeafInfo.cxx:2568
TFormLeafInfo::~TFormLeafInfo
virtual ~TFormLeafInfo()
Delete this object and all its content.
Definition: TFormLeafInfo.cxx:135
TFormLeafInfo
This class is a small helper class to implement reading a data member on an object stored in a TTree.
Definition: TFormLeafInfo.h:49
TFormLeafInfoNumerical::Swap
void Swap(TFormLeafInfoNumerical &other)
Exception safe swap.
Definition: TFormLeafInfo.cxx:1045
TFormLeafInfoMethod::GetClass
virtual TClass * GetClass() const
Return the type of the underlying return value.
Definition: TFormLeafInfo.cxx:2219
TFormLeafInfoNumerical::~TFormLeafInfoNumerical
virtual ~TFormLeafInfoNumerical()
Destructor.
Definition: TFormLeafInfo.cxx:1073
TFormLeafInfoTTree
A small helper class to implement reading from the containing TTree object itself.
Definition: TFormLeafInfo.h:527
TFormLeafInfoMultiVarDim::UpdateSizes
virtual void UpdateSizes(TArrayI *garr)
Update the sizes of the arrays.
Definition: TFormLeafInfo.cxx:2597
TFormLeafInfoMultiVarDim::fDim
Int_t fDim
Definition: TFormLeafInfo.h:397
TFormLeafInfoMultiVarDim::TFormLeafInfoMultiVarDim
TFormLeafInfoMultiVarDim(TClass *classptr, Long_t offset, TStreamerElement *element)
Definition: TFormLeafInfo.h:403
TFormLeafInfo::UpdateSizes
virtual void UpdateSizes(TArrayI *garr)
Set the current sizes of the arrays.
Definition: TFormLeafInfo.cxx:499
TFormLeafInfoDirect::ReadValue
virtual Double_t ReadValue(char *, Int_t=0)
Read the value at the given memory location.
Definition: TFormLeafInfo.cxx:960
TFormLeafInfoCollection::fCollClass
TClass * fCollClass
Definition: TFormLeafInfo.h:266
TFormLeafInfo::SetPrimaryIndex
virtual void SetPrimaryIndex(Int_t index)
Set the primary index value.
Definition: TFormLeafInfo.cxx:475
RooFit_internal::instance
static Roo_reg_AGKInteg1D instance
Definition: RooAdaptiveGaussKronrodIntegrator1D.cxx:153
TFormLeafInfoCollectionObject::ReadValueLongDouble
virtual LongDouble_t ReadValueLongDouble(char *where, Int_t i=0)
Definition: TFormLeafInfo.h:223
ULong64_t
unsigned long long ULong64_t
Definition: RtypesCore.h:74
TFormLeafInfoMultiVarDimClones::GetValueLongDouble
virtual LongDouble_t GetValueLongDouble(TLeaf *leaf, Int_t i=0)
Definition: TFormLeafInfo.h:495
TFormLeafInfoMultiVarDim
A helper class to implement reading a data member on a variable size array inside a TClonesArray obje...
Definition: TFormLeafInfo.h:391
TFormLeafInfoMethod::Update
virtual Bool_t Update()
We reloading all cached information in case the underlying class information has changed (for example...
Definition: TFormLeafInfo.cxx:2255
TFormLeafInfoCollectionSize::ReadValueLongDouble
virtual LongDouble_t ReadValueLongDouble(char *where, Int_t i=0)
Definition: TFormLeafInfo.h:333
TFormLeafInfoMultiVarDimCollection::GetValueLong64
virtual Long64_t GetValueLong64(TLeaf *leaf, Int_t i=0)
Definition: TFormLeafInfo.h:472
LongDouble_t
long double LongDouble_t
Definition: RtypesCore.h:61
Double_t
double Double_t
Definition: RtypesCore.h:59
TFormLeafInfo::Update
virtual Bool_t Update()
We reloading all cached information in case the underlying class information has changed (for example...
Definition: TFormLeafInfo.cxx:509
TFormLeafInfo::GetTypedValue
T GetTypedValue(TLeaf *leaf, Int_t instance=0)
Definition: TFormLeafInfo.h:135
TFormLeafInfoCollection::DECLARE_GETVAL
DECLARE_GETVAL
Definition: TFormLeafInfo.h:294
TFormLeafInfoCollectionObject::ReadValueLong64
virtual Long64_t ReadValueLong64(char *where, Int_t i=0)
Definition: TFormLeafInfo.h:222
TFormLeafInfoCast::fIsTObject
Bool_t fIsTObject
Marked by ReadValue.
Definition: TFormLeafInfo.h:507
TFormLeafInfoClones::Swap
void Swap(TFormLeafInfoClones &other)
Exception safe swap.
Definition: TFormLeafInfo.cxx:1152
TObject.h
TFormLeafInfoMultiVarDim::TFormLeafInfoMultiVarDim
TFormLeafInfoMultiVarDim()
Constructor.
Definition: TFormLeafInfo.cxx:2402
TFormLeafInfoPointer::DeepCopy
virtual TFormLeafInfo * DeepCopy() const
Copy the object and all of its contnet.
Definition: TFormLeafInfo.cxx:1988
TFormLeafInfo::IsString
virtual Bool_t IsString() const
Return true if the underlying data is a string.
Definition: TFormLeafInfo.cxx:351
TFormLeafInfoClones::fTop
Bool_t fTop
Definition: TFormLeafInfo.h:234
TFormLeafInfoCollectionSize::GetValuePointer
virtual void * GetValuePointer(TLeaf *leaf, Int_t instance=0)
Not implemented.
Definition: TFormLeafInfo.cxx:1925
TFormLeafInfoMultiVarDimClones::GetArrayLength
virtual Int_t GetArrayLength()
Return the current length of the array.
Definition: TFormLeafInfo.h:491
TFormLeafInfoCollection
A small helper class to implement reading a data member on a generic collection object stored in a TT...
Definition: TFormLeafInfo.h:263
TFormLeafInfoPointer::TFormLeafInfoPointer
TFormLeafInfoPointer(TClass *classptr=0, Long_t offset=0, TStreamerElement *element=0)
Constructor.
Definition: TFormLeafInfo.cxx:1978
TClass
TClass instances represent classes, structs and namespaces in the ROOT type system.
Definition: TClass.h:80
TFormLeafInfoMultiVarDimDirect::ReadValueLongDouble
virtual LongDouble_t ReadValueLongDouble(char *where, Int_t i=0)
Definition: TFormLeafInfo.h:452
EDataType
EDataType
Definition: TDataType.h:28
TFormLeafInfo::fOffset
Long_t fOffset
This is the class of the data pointed to.
Definition: TFormLeafInfo.h:64
TFormLeafInfoClones::ReadCounterValue
virtual Int_t ReadCounterValue(char *where)
Return the current size of the the TClonesArray.
Definition: TFormLeafInfo.cxx:1185
TFormLeafInfoCollection::fCollProxy
TVirtualCollectionProxy * fCollProxy
Definition: TFormLeafInfo.h:268
TObject
Mother of all ROOT objects.
Definition: TObject.h:37
TFormLeafInfoMethod::ReturnTClass
static TClass * ReturnTClass(TMethodCall *mc)
Return the TClass corresponding to the return type of the function if it is an object type or if the ...
Definition: TFormLeafInfo.cxx:2187
TFormLeafInfoMethod
Asmall helper class to implement executing a method of an object stored in a TTree.
Definition: TFormLeafInfo.h:354
TFormLeafInfoCollectionObject::DeepCopy
virtual TFormLeafInfo * DeepCopy() const
Make a complete copy of this FormLeafInfo and all its content.
Definition: TFormLeafInfo.h:215
TFormLeafInfoClones
A small helper class to implement reading a data member on a TClonesArray object stored in a TTree.
Definition: TFormLeafInfo.h:233
TFormLeafInfoMethod::TFormLeafInfoMethod
TFormLeafInfoMethod(TClass *classptr=0, TMethodCall *method=0)
Constructor.
Definition: TFormLeafInfo.cxx:2084
TFormLeafInfoCollection::fLocalElement
TStreamerElement * fLocalElement
Definition: TFormLeafInfo.h:269
TFormLeafInfo::fClass
TClass * fClass
Definition: TFormLeafInfo.h:62
TFormLeafInfoMultiVarDim::fSumOfSizes
Int_t fSumOfSizes
Definition: TFormLeafInfo.h:396
ROOT::Math::Chebyshev::T
double T(double x)
Definition: ChebyshevPol.h:34
TFormLeafInfo::SetBranch
virtual void SetBranch(TBranch *br)
Definition: TFormLeafInfo.h:113
TFormLeafInfo::fClassName
TString fClassName
Definition: TFormLeafInfo.h:70
TFormLeafInfoCast::Update
virtual Bool_t Update()
We reloading all cached information in case the underlying class information has changed (for example...
Definition: TFormLeafInfo.cxx:2970
TFormLeafInfo::GetValueHelper< Long64_t >::Exec
static Long64_t Exec(TFormLeafInfo *linfo, TLeaf *leaf, Int_t instance)
Definition: TFormLeafInfo.h:152
TFormLeafInfoTTree::Swap
void Swap(TFormLeafInfoTTree &other)
TFormLeafInfoNumerical::fIsBool
Bool_t fIsBool
Definition: TFormLeafInfo.h:186
TFormLeafInfo::GetSumOfSizes
virtual Int_t GetSumOfSizes()
Total all the elements that are available for the current entry for the secondary variable dimension.
Definition: TFormLeafInfo.cxx:458
TFormLeafInfoMultiVarDim::GetSize
virtual Int_t GetSize(Int_t index)
Return the size of the requested sub-array.
Definition: TFormLeafInfo.cxx:2511
TLeafElement.h
TFormLeafInfoCollectionSize::ReadValueLong64
virtual Long64_t ReadValueLong64(char *where, Int_t i=0)
Definition: TFormLeafInfo.h:332
TFormLeafInfoCollectionSize::fCollClassName
TString fCollClassName
Definition: TFormLeafInfo.h:310
TMethodCall
Method or function calling interface.
Definition: TMethodCall.h:37
TFormLeafInfoMultiVarDim::GetValue
virtual Double_t GetValue(TLeaf *, Int_t=0)
Definition: TFormLeafInfo.cxx:2555
TFormLeafInfo::ReadValueHelper< LongDouble_t >::Exec
static LongDouble_t Exec(TFormLeafInfo *leaf, char *where, Int_t instance)
Definition: TFormLeafInfo.h:148
TFormLeafInfoMultiVarDim::fCounter2
TFormLeafInfo * fCounter2
Definition: TFormLeafInfo.h:395
TFormLeafInfoCast
A small helper class to implement casting an object to a different type (equivalent to dynamic_cast)
Definition: TFormLeafInfo.h:502
TFormLeafInfoMultiVarDim::operator=
TFormLeafInfoMultiVarDim & operator=(const TFormLeafInfoMultiVarDim &orig)
Exception safe assignment operator.
Definition: TFormLeafInfo.cxx:2441
TFormLeafInfoCollection::fCollClassName
TString fCollClassName
Definition: TFormLeafInfo.h:267
TFormLeafInfo::GetValueHelper::Exec
static T Exec(TFormLeafInfo *linfo, TLeaf *leaf, Int_t instance)
Definition: TFormLeafInfo.h:131
TFormLeafInfoMultiVarDimCollection::GetValueLongDouble
virtual LongDouble_t GetValueLongDouble(TLeaf *leaf, Int_t i=0)
Definition: TFormLeafInfo.h:473
TFormLeafInfoMultiVarDim::fSecondaryIndex
Int_t fSecondaryIndex
Definition: TFormLeafInfo.h:400
TFormLeafInfoMultiVarDim::GetPrimaryIndex
virtual Int_t GetPrimaryIndex()
Return the index vlaue of the primary index.
Definition: TFormLeafInfo.cxx:2503
TFormLeafInfo::TFormLeafInfo
TFormLeafInfo(TClass *classptr=0, Long_t offset=0, TStreamerElement *element=0)
Constructor.
Definition: TFormLeafInfo.cxx:74
TFormLeafInfoMultiVarDim::GetVirtVarDim
virtual Int_t GetVirtVarDim()
Return the virtual index (for this expression) of the dimension which varies for each elements of an ...
Definition: TFormLeafInfo.cxx:2577
TFormLeafInfoCollectionObject::fTop
Bool_t fTop
Definition: TFormLeafInfo.h:207
TFormLeafInfoMultiVarDim::fNsize
Int_t fNsize
Definition: TFormLeafInfo.h:393
TFormLeafInfoMultiVarDim::GetSumOfSizes
virtual Int_t GetSumOfSizes()
Get the total size.
Definition: TFormLeafInfo.cxx:2548
TFormLeafInfoMultiVarDim::~TFormLeafInfoMultiVarDim
~TFormLeafInfoMultiVarDim()
Destructor.
Definition: TFormLeafInfo.cxx:2459
TFormLeafInfoCollectionSize::fCollClass
TClass * fCollClass
Definition: TFormLeafInfo.h:309
TFormLeafInfo::operator=
TFormLeafInfo & operator=(const TFormLeafInfo &orig)
Exception safe assignment operator.
Definition: TFormLeafInfo.cxx:98
TFormLeafInfoCast::fGoodCast
Bool_t fGoodCast
Name of the class we are casting to.
Definition: TFormLeafInfo.h:506
TFormLeafInfo::Swap
void Swap(TFormLeafInfo &other)
Definition: TFormLeafInfo.cxx:107
TFormLeafInfoCollection::GetLocalValuePointer
virtual void * GetLocalValuePointer(TLeaf *leaf, Int_t instance=0)
Return the pointer to the clonesArray.
Definition: TFormLeafInfo.cxx:1692
TStreamerElement
Definition: TStreamerElement.h:33
TFormLeafInfoTTree::DeepCopy
virtual TFormLeafInfo * DeepCopy() const
Make a complete copy of this FormLeafInfo and all its content.
Definition: TFormLeafInfo.cxx:3003
TFormLeafInfoCollectionObject::GetLocalValuePointer
virtual void * GetLocalValuePointer(TLeaf *leaf, Int_t instance=0)
Return the pointer to the clonesArray.
Definition: TFormLeafInfo.cxx:1387
TFormLeafInfoClones::GetCounterValue
virtual Int_t GetCounterValue(TLeaf *leaf)
Return the current size of the the TClonesArray.
Definition: TFormLeafInfo.cxx:1171
TVirtualCollectionProxy
Definition: TVirtualCollectionProxy.h:38
TFormLeafInfoClones::DeepCopy
virtual TFormLeafInfo * DeepCopy() const
Make a complete copy of this FormLeafInfo and all its content.
Definition: TFormLeafInfo.h:246
TFormLeafInfoMultiVarDimClones
A small helper class to implement reading a data member on a variable size array inside a TClonesArra...
Definition: TFormLeafInfo.h:481
TFormLeafInfoCollection::DeepCopy
virtual TFormLeafInfo * DeepCopy() const
Copy of the object and its content.
Definition: TFormLeafInfo.cxx:1576
TFormLeafInfoCollectionObject::Swap
void Swap(TFormLeafInfoCollectionObject &other)
Exception safe swap.
Definition: TFormLeafInfo.cxx:1350
TFormLeafInfoMultiVarDimClones::LoadSizes
virtual void LoadSizes(TBranch *branch)
Load the current array sizes.
Definition: TFormLeafInfo.cxx:2826
TFormLeafInfo::GetArrayLength
virtual Int_t GetArrayLength()
Return the current length of the array.
Definition: TFormLeafInfo.cxx:158
TArrayI
Array of integers (32 bits per element).
Definition: TArrayI.h:27
TFormLeafInfoCollectionSize::operator=
TFormLeafInfoCollectionSize & operator=(const TFormLeafInfoCollectionSize &orig)
Exception safe assignment operator.
Definition: TFormLeafInfo.cxx:1868
int
TFormLeafInfo::IsReference
virtual Bool_t IsReference() const
Definition: TFormLeafInfo.h:101
TFormLeafInfoPointer
A small helper class to implement reading a data member by following a pointer inside a branch of TTr...
Definition: TFormLeafInfo.h:339
TFormLeafInfo::AddOffset
virtual void AddOffset(Int_t offset, TStreamerElement *element)
Increase the offset of this element.
Definition: TFormLeafInfo.cxx:145
TFormLeafInfo::GetVirtVarDim
virtual Int_t GetVirtVarDim()
Return the virtual index (for this expression) of the dimension which varies for each elements of an ...
Definition: TFormLeafInfo.cxx:438
TFormLeafInfoMultiVarDimCollection::GetValue
virtual Double_t GetValue(TLeaf *leaf, Int_t instance=0)
Definition: TFormLeafInfo.cxx:2705