18 #include "GaudiKernel/System.h"
46 m_branch (rhs.m_branch)
54 GenericAddress::operator=(rhs);
64 const std::string&
p1,
65 const std::string&
p2,
68 GenericAddress(
svc, clid,
p1,
p2, ip1, ip2),
95 const std::string& br_name = this->
par()[1];
98 Long64_t ientry =
tree->GetReadEntry();
111 tree->SetBranchStatus(br_name.c_str(), 1);
115 TBranch *
branch =
tree->GetBranch(br_name.c_str());
120 branch =
tree->GetBranch((br_name+
".").c_str());
125 Long64_t bentry =
branch->GetReadEntry();
126 if ( bentry != ientry || ientry < 0) {
132 bentry =
branch->GetReadEntry();
143 TClass *
cls = TClass::GetClass(
branch->GetClassName());
145 if (!
branch->GetAddress()) {
148 if (
branch->GetAddress()) {
150 void* addr = *(
char**)
branch->GetAddress();
152 if (
t != rflx_type && !
t.Id()) {
169 TLeaf *leaf =
tree->GetLeaf(br_name.c_str());
172 leaf =
branch->GetLeaf(br_name.c_str());
174 TObjArray *leaves =
branch->GetListOfLeaves();
175 if (leaves->GetSize() && (leaves->First() == leaves->Last())) {
177 leaf = (TLeaf*)leaves->At(0);
185 if ( 1 < leaf->GetLenStatic() || leaf->GetLeafCount() ) {
188 std::string tname = leaf->GetTypeName();
189 void *addr = (
void*)leaf->GetValuePointer();
191 if (
t != rflx_type && !
t.Id()) {
200 std::string tname = leaf->GetTypeName();
203 void *addr = (
void*)leaf->GetValuePointer();
205 if (
t != rflx_type && !
t.Id()) {
220 return reinterpret_cast<TTree*
>(
reinterpret_cast<unsigned long*
>(this->ipar()[0]));