12 #ifndef ROOT_TBranchProxy 13 #define ROOT_TBranchProxy 15 #ifndef ROOT_TBranchProxyDirector 24 #ifndef ROOT_TClonesArray 30 #ifndef ROOT_Riostream 36 #ifndef ROOT_TVirtualCollectionProxy 69 if (left[0]&&right && fName[fName.
Length()-1]!=
'.') fName +=
".";
75 operator const char*() {
return fName.
Data(); };
115 virtual void Print();
140 if (fDirector==0)
return false;
143 if (!IsInitialized()) {
145 ::Error(
"TBranchProxy::Read",
"%s",
Form(
"Unable to initialize %s\n",fBranchName.
Data()));
151 result = fParent->
Read();
161 return IsInitialized();
166 if (fDirector==0)
return false;
169 if (!IsInitialized()) {
171 ::Error(
"TBranchProxy::ReadEntries",
"%s",
Form(
"Unable to initialize %s\n",fBranchName.
Data()));
178 fBranchCount->TBranch::GetEntry(fDirector->
GetReadEntry());
185 return IsInitialized();
189 if (fDirector==0)
return 0;
191 if (!IsInitialized()) {
210 fWhere = ((
unsigned char*)fParent->
GetStart()) + fMemberOffset;
213 if (fWhere)
return *(
void**)fWhere;
234 location = (
char*)tca->
At(i);
238 }
else if (fParent) {
252 location = (
char*)tca->
At(i);
255 if (location) location += fOffset;
259 return *(
void**)(location);
275 if (fCollection->
Size()<i)
return 0;
277 location = (
char*)fCollection->
At(i);
281 }
else if (fParent) {
299 if (location) location += fOffset;
303 return *(
void**)(location);
322 std::cout <<
"fWhere " << fWhere << std::endl;
323 if (fWhere) std::cout <<
"value? " << *(
unsigned char*)GetStart() << std::endl;
337 static unsigned char default_val;
338 if (!Read())
return default_val;
340 unsigned char* str = (
unsigned char*)GetStart();
344 unsigned char operator [](
Int_t i) {
352 operator const char*() {
353 if (!Read())
return "";
354 return (
const char*)GetStart();
358 if (!Read())
return "";
359 return (
const char*)GetStart();
363 if (!Read())
return "";
364 return (
const char*)GetStart();
367 operator std::string() {
368 if (!Read())
return "";
369 return std::string((
const char*)GetStart());
380 std::cout <<
"fWhere " << fWhere << std::endl;
383 std::cout <<
"location " << *(
TClonesArray**)fWhere << std::endl;
385 std::cout <<
"location " << fWhere << std::endl;
401 if (!Read())
return 0;
406 if (!ReadEntries())
return 0;
422 std::cout <<
"fWhere " << fWhere << std::endl;
425 std::cout <<
"location " << *(
TClonesArray**)fWhere << std::endl;
427 std::cout <<
"location " << fWhere << std::endl;
443 if (!Read())
return 0;
444 return GetCollection();
448 if (!ReadEntries())
return 0;
449 return GetPtr()->Size();
463 std::cout <<
"fWhere " << fWhere << std::endl;
464 if (fWhere) std::cout <<
"value? " << *(
T*)GetStart() << std::endl;
478 if (!Read())
return 0;
479 return *(
T*)GetStart();
485 #define private_was_replaced 491 #ifdef private_was_replaced 492 #define private public 502 typedef T array_t[d];
514 typedef typename T::array_t array_t[d];
532 typedef typename T::array_t
array_t;
537 std::cout <<
"fWhere " << GetWhere() << std::endl;
538 if (GetWhere()) std::cout <<
"value? " << *(type_t*)GetWhere() << std::endl;
542 static array_t default_val;
543 if (!Read())
return default_val;
546 arr = (array_t*)((type_t*)(GetStart()));
547 if (arr)
return arr[i];
548 else return default_val;
551 const array_t &operator [](
Int_t i) {
return At(i); }
552 const array_t &operator [](
UInt_t i) {
return At(i); }
563 std::cout <<
"fWhere " << fWhere << std::endl;
564 if (fWhere) std::cout <<
"value? " << *(
T*)GetStart() << std::endl;
578 static T default_val;
579 if (!Read())
return default_val;
580 if (fWhere==0)
return default_val;
582 T *temp = (
T*)GetClaStart(i);
584 if (temp)
return *temp;
585 else return default_val;
589 const T& operator [](
Int_t i) {
return At(i); }
590 const T& operator [](
UInt_t i) {
return At(i); }
595 #define private_was_replaced 601 #ifdef private_was_replaced 602 #define private public 615 std::cout <<
"fWhere " << fWhere << std::endl;
616 if (fWhere) std::cout <<
"value? " << *(
T*)GetStart() << std::endl;
630 static T default_val;
631 if (!Read())
return default_val;
632 if (fWhere==0)
return default_val;
634 T *temp = (
T*)GetStlStart(i);
636 if (temp)
return *temp;
637 else return default_val;
640 const T& operator [](
Int_t i) {
return At(i); }
641 const T& operator [](
UInt_t i) {
return At(i); }
646 #define private_was_replaced 652 #ifdef private_was_replaced 653 #define private public 668 std::cout <<
"fWhere " << fWhere << std::endl;
669 if (fWhere) std::cout <<
"value? " << *(type_t*)GetStart() << std::endl;
683 static array_t default_val;
684 if (!Read())
return &default_val;
685 if (fWhere==0)
return &default_val;
687 return (array_t*)GetClaStart(i);
690 array_t *operator [](
Int_t i) {
return At(i); }
691 array_t *operator [](
UInt_t i) {
return At(i); }
705 std::cout <<
"fWhere " << fWhere << std::endl;
706 if (fWhere) std::cout <<
"value? " << *(type_t*)GetStart() << std::endl;
720 static array_t default_val;
721 if (!Read())
return &default_val;
722 if (fWhere==0)
return &default_val;
724 return (array_t*)GetStlStart(i);
727 array_t *operator [](
Int_t i) {
return At(i); }
728 array_t *operator [](
UInt_t i) {
return At(i); }
TStlArrayProxy< TArrayType< Bool_t > > TStlArrayBoolProxy
TStlArrayProxy< TArrayType< Int_t > > TStlArrayIntProxy
TImpProxy< Double32_t > TDouble32Proxy
TStlArrayProxy< TArrayType< Double_t > > TStlArrayDoubleProxy
Long64_t GetReadEntry() const
TArrayProxy< TArrayType< Double_t > > TArrayDoubleProxy
TClaImpProxy< Float_t > TClaFloatProxy
TStlArrayProxy< TArrayType< UShort_t > > TStlArrayUShortProxy
TArrayCharProxy(TBranchProxyDirector *director, const char *name)
const TString fDataMember
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t mid
TStlArrayProxy< TArrayType< Long64_t > > TStlArrayLong64Proxy
This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecu...
TStlImpProxy< Float16_t > TStlFloat16Proxy
TArrayProxy(TBranchProxyDirector *director, const char *top, const char *name)
TArrayProxy< TArrayType< Long64_t > > TArrayLong64Proxy
Int_t GetLast() const
Return index of last object in array.
TStlImpProxy< ULong64_t > TStlULong64Proxy
TStlImpProxy(TBranchProxyDirector *director, const char *name)
TImpProxy< Double_t > TDoubleProxy
const TVirtualCollectionProxy * operator->()
TStlArrayProxy< TArrayType< UChar_t > > TStlArrayUCharProxy
TImpProxy< ULong64_t > TULong64Proxy
TStlArrayProxy< TArrayType< UShort_t > > TStlArrayShortProxy
TArrayProxy< TArrayType< Long_t > > TArrayLongProxy
TClaImpProxy< UInt_t > TClaUIntProxy
TClaArrayProxy< TArrayType< Char_t > > TClaArrayCharProxy
TImpProxy< Char_t > TCharProxy
TStlImpProxy< Long64_t > TStlLong64Proxy
TClaArrayProxy(TBranchProxyDirector *director, const char *top, const char *name, const char *data)
const TClonesArray * operator->()
TArrayProxy< TArrayType< UShort_t > > TArrayUShortProxy
TStreamerElement * fElement
TArrayProxy< TArrayType< Double32_t > > TArrayDouble32Proxy
TClaImpProxy< Float16_t > TClaFloat16Proxy
TStlProxy(TBranchProxyDirector *director, const char *name)
virtual void * GetStart(UInt_t=0)
TImpProxy< Float_t > TFloatProxy
TStlArrayProxy(TBranchProxyDirector *director, const char *top, const char *name, const char *data)
TClaArrayProxy(TBranchProxyDirector *director, const char *top, const char *name)
TClaImpProxy< Long_t > TClaLongProxy
TImpProxy(TBranchProxyDirector *director, const char *top, const char *name, const char *data)
TStlProxy(TBranchProxyDirector *director, const char *top, const char *name, const char *data)
TClaImpProxy< UShort_t > TClaUShortProxy
TStlProxy(TBranchProxyDirector *director, const char *top, const char *name)
TArrayProxy< TArrayType< ULong_t > > TArrayULongProxy
TClaImpProxy(TBranchProxyDirector *director, const char *top, const char *name, const char *data)
TClaArrayProxy< TArrayType< UInt_t > > TClaArrayUIntProxy
const char * Data() const
TStlArrayProxy< TArrayType< ULong_t > > TStlArrayULongProxy
TStlImpProxy(TBranchProxyDirector *director, const char *top, const char *name, const char *data)
TImpProxy(TBranchProxyDirector *director, TBranchProxy *parent, const char *name, const char *top=0, const char *mid=0)
TArrayProxy(TBranchProxyDirector *director, TBranchProxy *parent, const char *name, const char *top=0, const char *mid=0)
TStlArrayProxy< TArrayType< Float16_t > > TStlArrayFloat16Proxy
TStlImpProxy< Short_t > TStlShortProxy
const TString fBranchName
TArrayProxy< TArrayType< UChar_t > > TArrayUCharProxy
TStlArrayProxy< TArrayType< ULong64_t > > TStlArrayULong64Proxy
TArrayProxy< TArrayType< Bool_t > > TArrayBoolProxy
TClaArrayProxy(TBranchProxyDirector *director, TBranchProxy *parent, const char *name, const char *top=0, const char *mid=0)
TClaProxy(TBranchProxyDirector *director, const char *top, const char *name)
TClaArrayProxy< TArrayType< UChar_t > > TClaArrayUCharProxy
TStlImpProxy< Int_t > TStlIntProxy
TClaImpProxy< UChar_t > TClaUCharProxy
TImpProxy< Int_t > TIntProxy
TClaProxy(TBranchProxyDirector *director, TBranchProxy *parent, const char *name, const char *top=0, const char *mid=0)
TClaArrayProxy< TArrayType< UShort_t > > TClaArrayShortProxy
virtual void * GetClaStart(UInt_t i=0)
TStlImpProxy(TBranchProxyDirector *director, TBranchProxy *parent, const char *name, const char *top=0, const char *mid=0)
TClaArrayProxy< TArrayType< Long_t > > TClaArrayLongProxy
TStlImpProxy< ULong_t > TStlULongProxy
virtual Int_t GetTreeNumber() const
TStlImpProxy< Char_t > TStlCharProxy
TArrayProxy< TArrayType< Float16_t > > TArrayFloat16Proxy
TImpProxy< UChar_t > TUCharProxy
TClaImpProxy< Short_t > TClaShortProxy
char * Form(const char *fmt,...)
TArrayProxy< TArrayType< Int_t > > TArrayIntProxy
TArrayCharProxy(TBranchProxyDirector *director, TBranchProxy *parent, const char *name, const char *top=0, const char *mid=0)
TImpProxy(TBranchProxyDirector *director, const char *name)
TClaArrayProxy< TArrayType< Double_t > > TClaArrayDoubleProxy
TClaArrayProxy< TArrayType< Float16_t > > TClaArrayFloat16Proxy
TClaArrayProxy< TArrayType< UShort_t > > TClaArrayUShortProxy
virtual Int_t GetEntry(Long64_t entry=0, Int_t getall=0)
Read all leaves of entry and return total number of bytes read.
The ROOT global object gROOT contains a list of all defined classes.
TClaImpProxy< ULong_t > TClaULongProxy
TClaImpProxy< Double_t > TClaDoubleProxy
void Reset(Detail::TBranchProxy *x)
TImpProxy< Short_t > TShortProxy
TImpProxy< Long_t > TLongProxy
TClaImpProxy< ULong64_t > TClaULong64Proxy
TClaImpProxy< Long64_t > TClaLong64Proxy
TStlImpProxy< Double32_t > TStlDouble32Proxy
const TVirtualCollectionProxy * GetPtr()
TClaImpProxy< Bool_t > TClaBoolProxy
TArrayProxy(TBranchProxyDirector *director, const char *top, const char *name, const char *data)
TArrayProxy< TArrayType< ULong64_t > > TArrayULong64Proxy
TStlImpProxy< Float_t > TStlFloatProxy
TArrayCharProxy(TBranchProxyDirector *director, const char *top, const char *name, const char *data)
TClaArrayProxy< TArrayType< Int_t > > TClaArrayIntProxy
TClaImpProxy< Double32_t > TClaDouble32Proxy
void Print(std::ostream &os, const OptionType &opt)
TVirtualCollectionProxy * GetCollection()
TImpProxy< ULong_t > TULongProxy
TStlArrayProxy(TBranchProxyDirector *director, const char *name)
const char * GetBranchName() const
Bool_t IsaPointer() const
TStlImpProxy< UInt_t > TStlUIntProxy
TClaImpProxy(TBranchProxyDirector *director, TBranchProxy *parent, const char *name, const char *top=0, const char *mid=0)
TClaArrayProxy< TArrayType< Long64_t > > TClaArrayLong64Proxy
virtual void * At(UInt_t idx)=0
TStlArrayProxy< TArrayType< Char_t > > TStlArrayCharProxy
TClaArrayProxy< TArrayType< Double32_t > > TClaArrayDouble32Proxy
TImpProxy< Bool_t > TBoolProxy
virtual void * GetStlStart(UInt_t i=0)
TClaImpProxy(TBranchProxyDirector *director, const char *top, const char *name)
TClaArrayProxy< TArrayType< Bool_t > > TClaArrayBoolProxy
TImpProxy< UShort_t > TUShortProxy
Internal::TBranchProxyDirector * fDirector
Int_t GetEntries() const
Return the number of objects in array (i.e.
TClaArrayProxy(TBranchProxyDirector *director, const char *name)
TStlImpProxy< Long_t > TStlLongProxy
TArrayProxy< TArrayType< Float_t > > TArrayFloatProxy
TStlImpProxy< UChar_t > TStlUCharProxy
TArrayProxy< TArrayType< UShort_t > > TArrayShortProxy
TArrayProxy(TBranchProxyDirector *director, const char *name)
TStlProxy(TBranchProxyDirector *director, TBranchProxy *parent, const char *name, const char *top=0, const char *mid=0)
TClaProxy(TBranchProxyDirector *director, const char *top, const char *name, const char *data)
TImpProxy< UInt_t > TUIntProxy
const TClonesArray * GetPtr()
TArrayProxy< TArrayType< UInt_t > > TArrayUIntProxy
TStlArrayProxy< TArrayType< Float_t > > TStlArrayFloatProxy
TClaImpProxy< Int_t > TClaIntProxy
An array of clone (identical) objects.
TStlImpProxy< Double_t > TStlDoubleProxy
TImpProxy(TBranchProxyDirector *director, const char *top, const char *name)
TClaProxy(TBranchProxyDirector *director, const char *name)
TBranchProxyHelper(const char *left, const char *right=0)
TStlArrayProxy< TArrayType< Long_t > > TStlArrayLongProxy
TImpProxy< Long64_t > TLong64Proxy
TArrayCharProxy(TBranchProxyDirector *director, const char *top, const char *name)
TStlArrayProxy(TBranchProxyDirector *director, TBranchProxy *parent, const char *name, const char *top=0, const char *mid=0)
TBranchProxy * GetProxy()
TClaImpProxy< Char_t > TClaCharProxy
TStlArrayProxy< TArrayType< UInt_t > > TStlArrayUIntProxy
TStlArrayProxy< TArrayType< Double32_t > > TStlArrayDouble32Proxy
TClaImpProxy(TBranchProxyDirector *director, const char *name)
A TTree object has a header with a name and a title.
const array_t & At(UInt_t i)
TStlImpProxy< Bool_t > TStlBoolProxy
TImpProxy< Float16_t > TFloat16Proxy
TStlArrayProxy(TBranchProxyDirector *director, const char *top, const char *name)
TClaArrayProxy< TArrayType< Float_t > > TClaArrayFloatProxy
TObject * At(Int_t idx) const
Base class for all the proxy object.
A TTree is a list of TBranches.
TClaArrayProxy< TArrayType< ULong64_t > > TClaArrayULong64Proxy
TVirtualCollectionProxy * fCollection
unsigned char At(UInt_t i)
TClaArrayProxy< TArrayType< ULong_t > > TClaArrayULongProxy
void Error(ErrorHandler_t func, int code, const char *va_(fmt),...)
Write error message and call a handler, if required.
TStlImpProxy(TBranchProxyDirector *director, const char *top, const char *name)
virtual UInt_t Size() const =0
TStlImpProxy< UShort_t > TStlUShortProxy