18 #include "GaudiKernel/System.h"
45 m_branch (rhs.m_branch)
63 const std::string&
p1,
64 const std::string&
p2,
67 GenericAddress(
svc, clid,
p1,
p2, ip1, ip2),
94 const std::string& br_name = this->
par()[1];
97 Long64_t ientry =
tree->GetReadEntry();
110 tree->SetBranchStatus(br_name.c_str(), 1);
114 TBranch *
branch =
tree->GetBranch(br_name.c_str());
119 branch =
tree->GetBranch((br_name+
".").c_str());
124 Long64_t bentry =
branch->GetReadEntry();
125 if ( bentry != ientry || ientry < 0) {
131 bentry =
branch->GetReadEntry();
142 TClass *
cls = TClass::GetClass(
branch->GetClassName());
144 if (!
branch->GetAddress()) {
147 if (
branch->GetAddress()) {
149 void* addr = *(
char**)
branch->GetAddress();
151 if (
t != rflx_type && !
t.Id()) {
168 TLeaf *leaf =
tree->GetLeaf(br_name.c_str());
171 leaf =
branch->GetLeaf(br_name.c_str());
173 TObjArray *leaves =
branch->GetListOfLeaves();
174 if (leaves->GetSize() && (leaves->First() == leaves->Last())) {
176 leaf = (TLeaf*)leaves->At(0);
184 if ( 1 < leaf->GetLenStatic() || leaf->GetLeafCount() ) {
187 std::string tname = leaf->GetTypeName();
188 void *addr = (
void*)leaf->GetValuePointer();
190 if (
t != rflx_type && !
t.Id()) {
199 std::string tname = leaf->GetTypeName();
202 void *addr = (
void*)leaf->GetValuePointer();
204 if (
t != rflx_type && !
t.Id()) {
219 return reinterpret_cast<TTree*
>(
reinterpret_cast<unsigned long*
>(this->ipar()[0]));