#include "TGenCollectionProxy.h"
#include "TVirtualStreamerInfo.h"
#include "TStreamerElement.h"
#include "TClassEdit.h"
#include "TClass.h"
#include "TError.h"
#include "TROOT.h"
#include "TInterpreter.h"
#include "Riostream.h"
#include "TVirtualMutex.h"
#include <stdlib.h>
#define MESSAGE(which,text)
class TGenVectorProxy : public TGenCollectionProxy {
public:
TGenVectorProxy(const TGenCollectionProxy& c) : TGenCollectionProxy(c)
{
}
virtual ~TGenVectorProxy()
{
}
virtual void* At(UInt_t idx)
{
if ( fEnv && fEnv->fObject ) {
fEnv->fIdx = idx;
switch( idx ) {
case 0:
return fEnv->fStart = fFirst.invoke(fEnv);
default:
if (! fEnv->fStart ) fEnv->fStart = fFirst.invoke(fEnv);
return ((char*)fEnv->fStart) + fValDiff*idx;
}
}
Fatal("TGenVectorProxy","At> Logic error - no proxy object set.");
return 0;
}
virtual void DeleteItem(bool force, void* ptr) const
{
if ( force && ptr ) {
fVal->DeleteItem(ptr);
}
}
};
class TGenVectorBoolProxy : public TGenCollectionProxy {
bool fLastValue;
public:
TGenVectorBoolProxy(const TGenCollectionProxy& c) : TGenCollectionProxy(c), fLastValue(false)
{
}
virtual ~TGenVectorBoolProxy()
{
}
virtual void* At(UInt_t idx)
{
if ( fEnv && fEnv->fObject ) {
switch( idx ) {
case 0:
fEnv->fStart = fFirst.invoke(fEnv);
fEnv->fIdx = idx;
break;
default:
fEnv->fIdx = idx - fEnv->fIdx;
if (! fEnv->fStart ) fEnv->fStart = fFirst.invoke(fEnv);
fNext.invoke(fEnv);
fEnv->fIdx = idx;
break;
}
typedef ROOT::TCollectionProxyInfo::Type<std::vector<bool> >::Env_t EnvType_t;
EnvType_t *e = (EnvType_t*)fEnv;
fLastValue = *(e->iter());
return &fLastValue;
}
Fatal("TGenVectorProxy","At> Logic error - no proxy object set.");
return 0;
}
virtual void DeleteItem(bool force, void* ptr) const
{
if ( force && ptr ) {
fVal->DeleteItem(ptr);
}
}
};
class TGenListProxy : public TGenVectorProxy {
public:
TGenListProxy(const TGenCollectionProxy& c) : TGenVectorProxy(c)
{
}
virtual ~TGenListProxy()
{
}
void* At(UInt_t idx)
{
if ( fEnv && fEnv->fObject ) {
switch( idx ) {
case 0:
fEnv->fIdx = idx;
return fEnv->fStart = fFirst.invoke(fEnv);
default: {
fEnv->fIdx = idx - fEnv->fIdx;
if (! fEnv->fStart ) fEnv->fStart = fFirst.invoke(fEnv);
void* result = fNext.invoke(fEnv);
fEnv->fIdx = idx;
return result;
}
}
}
Fatal("TGenListProxy","At> Logic error - no proxy object set.");
return 0;
}
};
class TGenSetProxy : public TGenVectorProxy {
public:
TGenSetProxy(const TGenCollectionProxy& c) : TGenVectorProxy(c)
{
}
virtual ~TGenSetProxy()
{
}
void* At(UInt_t idx)
{
if ( fEnv && fEnv->fObject ) {
if ( fEnv->fUseTemp ) {
return (((char*)fEnv->fTemp)+idx*fValDiff);
}
switch( idx ) {
case 0:
fEnv->fIdx = idx;
return fEnv->fStart = fFirst.invoke(fEnv);
default: {
fEnv->fIdx = idx - fEnv->fIdx;
if (! fEnv->fStart ) fEnv->fStart = fFirst.invoke(fEnv);
void* result = fNext.invoke(fEnv);
fEnv->fIdx = idx;
return result;
}
}
}
Fatal("TGenSetProxy","At> Logic error - no proxy object set.");
return 0;
}
};
class TGenMapProxy : public TGenSetProxy {
public:
TGenMapProxy(const TGenCollectionProxy& c) : TGenSetProxy(c)
{
}
virtual ~TGenMapProxy()
{
}
virtual void DeleteItem(Bool_t , void* ptr) const
{
if ( fKey->fCase&G__BIT_ISPOINTER ) {
fKey->DeleteItem(*(void**)ptr);
}
if ( fVal->fCase&G__BIT_ISPOINTER ) {
char *addr = ((char*)ptr)+fValOffset;
fVal->DeleteItem(*(void**)addr);
}
}
};
TGenCollectionProxy::Value::Value(const Value& copy)
{
fType = copy.fType;
fCase = copy.fCase;
fKind = copy.fKind;
fSize = copy.fSize;
fCtor = copy.fCtor;
fDtor = copy.fDtor;
fDelete = copy.fDelete;
}
TGenCollectionProxy::Value::Value(const std::string& inside_type)
{
std::string inside = (inside_type.find("const ")==0) ? inside_type.substr(6) : inside_type;
fCase = 0;
fCtor = 0;
fDtor = 0;
fDelete = 0;
fSize = std::string::npos;
fKind = kNoType_t;
std::string intype = TClassEdit::ShortType(inside.c_str(),TClassEdit::kDropTrailStar );
if ( inside.substr(0,6) == "string" || inside.substr(0,11) == "std::string" ) {
fCase = kBIT_ISSTRING;
fType = TClass::GetClass("string");
fCtor = fType->GetNew();
fDtor = fType->GetDestructor();
fDelete = fType->GetDelete();
switch(inside[inside.length()-1]) {
case '*':
fCase |= G__BIT_ISPOINTER;
fSize = sizeof(void*);
break;
default:
fSize = sizeof(std::string);
break;
}
}
else {
fType = TClass::GetClass(intype.c_str());
if (fType && !fType->IsLoaded()) {
if (intype != inside) {
fCase |= G__BIT_ISPOINTER;
fSize = sizeof(void*);
}
fCase |= G__BIT_ISCLASS;
fCtor = fType->GetNew();
fDtor = fType->GetDestructor();
fDelete = fType->GetDelete();
} else {
#if defined(NOT_YET)
G__value gval = G__string2type_body(inside.c_str(),2);
G__TypeInfo ti(gval);
#else
TypeInfo_t *ti = gCint->TypeInfo_Factory();
gCint->TypeInfo_Init(ti,inside.c_str());
#endif
if ( !gCint->TypeInfo_IsValid(ti) ) {
if (intype != inside) {
fCase |= G__BIT_ISPOINTER;
fSize = sizeof(void*);
}
fType = TClass::GetClass(intype.c_str());
if (fType) {
fCase |= G__BIT_ISCLASS;
fCtor = fType->GetNew();
fDtor = fType->GetDestructor();
fDelete = fType->GetDelete();
}
else {
fCase = G__BIT_ISENUM;
fSize = sizeof(Int_t);
fKind = kInt_t;
}
}
else {
Long_t prop = gCint->TypeInfo_Property(ti);
if ( prop&G__BIT_ISPOINTER ) {
fSize = sizeof(void*);
}
if ( prop&G__BIT_ISSTRUCT ) {
prop |= G__BIT_ISCLASS;
}
if ( prop&G__BIT_ISCLASS ) {
fType = TClass::GetClass(intype.c_str());
R__ASSERT(fType);
fCtor = fType->GetNew();
fDtor = fType->GetDestructor();
fDelete = fType->GetDelete();
}
else if ( prop&G__BIT_ISFUNDAMENTAL ) {
TDataType *fundType = gROOT->GetType( intype.c_str() );
if (fundType==0) {
if (intype != "long double") {
Error("TGenCollectionProxy","Unknown fundamental type %s",intype.c_str());
}
fSize = sizeof(int);
fKind = kInt_t;
} else {
fKind = (EDataType)fundType->GetType();
if ( 0 == strcmp("bool",fundType->GetFullTypeName()) ) {
fKind = (EDataType)kBOOL_t;
}
fSize = gCint->TypeInfo_Size(ti);
R__ASSERT((fKind>0 && fKind<0x16) || (fKind==-1&&(prop&G__BIT_ISPOINTER)) );
}
}
else if ( prop&G__BIT_ISENUM ) {
fSize = sizeof(int);
fKind = kInt_t;
}
fCase = prop & (G__BIT_ISPOINTER|G__BIT_ISFUNDAMENTAL|G__BIT_ISENUM|G__BIT_ISCLASS);
if (fType == TString::Class() && (fCase&G__BIT_ISPOINTER)) {
fCase |= kBIT_ISTSTRING;
}
}
gCint->TypeInfo_Delete(ti);
}
}
if ( fSize == std::string::npos ) {
if ( fType == 0 ) {
Fatal("TGenCollectionProxy","Could not find %s!",inside.c_str());
}
fSize = fType->Size();
}
}
void TGenCollectionProxy::Value::DeleteItem(void* ptr)
{
if ( ptr && fCase&G__BIT_ISPOINTER ) {
if ( fDelete ) {
(*fDelete)(ptr);
}
else if ( fType ) {
fType->Destructor(ptr);
}
else {
::operator delete(ptr);
}
}
}
TGenCollectionProxy::TGenCollectionProxy(const TGenCollectionProxy& copy)
: TVirtualCollectionProxy(copy.fClass),
fTypeinfo(copy.fTypeinfo)
{
fEnv = 0;
fName = copy.fName;
fPointers = copy.fPointers;
fSTL_type = copy.fSTL_type;
fSize.call = copy.fSize.call;
fNext.call = copy.fNext.call;
fFirst.call = copy.fFirst.call;
fClear.call = copy.fClear.call;
fResize.call = copy.fResize.call;
fDestruct.call = copy.fDestruct.call;
fConstruct.call = copy.fConstruct.call;
fFeed.call = copy.fFeed.call;
fCollect.call = copy.fCollect.call;
fCreateEnv.call = copy.fCreateEnv.call;
fValOffset = copy.fValOffset;
fValDiff = copy.fValDiff;
fValue = copy.fValue ? new Value(*copy.fValue) : 0;
fVal = copy.fVal ? new Value(*copy.fVal) : 0;
fKey = copy.fKey ? new Value(*copy.fKey) : 0;
}
TGenCollectionProxy::TGenCollectionProxy(Info_t info, size_t iter_size)
: TVirtualCollectionProxy(0),
fTypeinfo(info)
{
fEnv = 0;
fSize.call = 0;
fFirst.call = 0;
fNext.call = 0;
fClear.call = 0;
fResize.call = 0;
fDestruct.call = 0;
fConstruct.call = 0;
fCollect.call = 0;
fCreateEnv.call = 0;
fFeed.call = 0;
fValue = 0;
fKey = 0;
fVal = 0;
fValOffset = 0;
fValDiff = 0;
fPointers = false;
Env_t e;
if ( iter_size > sizeof(e.fIterator) ) {
Fatal("TGenCollectionProxy",
"%s %s are too large:%d bytes. Maximum is:%d bytes",
"Iterators for collection",
fClass->GetName(),
iter_size,
sizeof(e.fIterator));
}
}
TGenCollectionProxy::TGenCollectionProxy(const ROOT::TCollectionProxyInfo &info, TClass *cl)
: TVirtualCollectionProxy(cl),
fTypeinfo(info.fInfo)
{
fEnv = 0;
fValDiff = info.fValueDiff;
fValOffset = info.fValueOffset;
fSize.call = info.fSizeFunc;
fResize.call = info.fResizeFunc;
fNext.call = info.fNextFunc;
fFirst.call = info.fFirstFunc;
fClear.call = info.fClearFunc;
fConstruct.call = info.fConstructFunc;
fDestruct.call = info.fDestructFunc;
fFeed.call = info.fFeedFunc;
fCollect.call = info.fCollectFunc;
fCreateEnv.call = info.fCreateEnv;
if (cl) {
fName = cl->GetName();
}
CheckFunctions();
fValue = 0;
fKey = 0;
fVal = 0;
fPointers = false;
Env_t e;
if ( info.fIterSize > sizeof(e.fIterator) ) {
Fatal("TGenCollectionProxy",
"%s %s are too large:%d bytes. Maximum is:%d bytes",
"Iterators for collection",
fClass->GetName(),
info.fIterSize,
sizeof(e.fIterator));
}
}
namespace {
typedef std::vector<ROOT::TCollectionProxyInfo::EnvironBase* > Proxies_t;
void clearProxies(Proxies_t& v)
{
for(Proxies_t::iterator i=v.begin(); i != v.end(); ++i) {
ROOT::TCollectionProxyInfo::EnvironBase *e = *i;
if ( e ) {
if ( e->fTemp ) ::free(e->fTemp);
delete e;
}
}
v.clear();
}
}
TGenCollectionProxy::~TGenCollectionProxy()
{
clearProxies(fProxyList);
clearProxies(fProxyKept);
if ( fValue ) delete fValue;
if ( fVal ) delete fVal;
if ( fKey ) delete fKey;
}
TVirtualCollectionProxy* TGenCollectionProxy::Generate() const
{
if ( !fValue ) Initialize();
if( fPointers )
return new TGenCollectionProxy(*this);
switch(fSTL_type) {
case TClassEdit::kVector: {
if (fValue->fKind == (EDataType)kBOOL_t) {
return new TGenVectorBoolProxy(*this);
} else {
return new TGenVectorProxy(*this);
}
}
case TClassEdit::kList:
return new TGenListProxy(*this);
case TClassEdit::kMap:
case TClassEdit::kMultiMap:
return new TGenMapProxy(*this);
case TClassEdit::kSet:
case TClassEdit::kMultiSet:
return new TGenSetProxy(*this);
default:
return new TGenCollectionProxy(*this);
}
}
TGenCollectionProxy *TGenCollectionProxy::Initialize() const
{
TGenCollectionProxy* p = const_cast<TGenCollectionProxy*>(this);
if ( fValue ) return p;
return p->InitializeEx();
}
void TGenCollectionProxy::CheckFunctions() const
{
if ( 0 == fSize.call ) {
Fatal("TGenCollectionProxy","No 'size' function pointer for class %s present.",fName.c_str());
}
if ( 0 == fResize.call ) {
Fatal("TGenCollectionProxy","No 'resize' function for class %s present.",fName.c_str());
}
if ( 0 == fNext.call ) {
Fatal("TGenCollectionProxy","No 'next' function for class %s present.",fName.c_str());
}
if ( 0 == fFirst.call ) {
Fatal("TGenCollectionProxy","No 'begin' function for class %s present.",fName.c_str());
}
if ( 0 == fClear.call ) {
Fatal("TGenCollectionProxy","No 'clear' function for class %s present.",fName.c_str());
}
if ( 0 == fConstruct.call ) {
Fatal("TGenCollectionProxy","No 'block constructor' function for class %s present.",fName.c_str());
}
if ( 0 == fDestruct.call ) {
Fatal("TGenCollectionProxy","No 'block destructor' function for class %s present.",fName.c_str());
}
if ( 0 == fFeed.call ) {
Fatal("TGenCollectionProxy","No 'data feed' function for class %s present.",fName.c_str());
}
if ( 0 == fCollect.call ) {
Fatal("TGenCollectionProxy","No 'data collect' function for class %s present.",fName.c_str());
}
if (0 == fCreateEnv.call ) {
Fatal("TGenCollectionProxy","No 'environment creation' function for class %s present.",fName.c_str());
}
}
TGenCollectionProxy *TGenCollectionProxy::InitializeEx()
{
R__LOCKGUARD2(gCollectionMutex);
if (fValue) return this;
TClass *cl = fClass ? fClass.GetClass() : TClass::GetClass(fTypeinfo);
if ( cl ) {
fEnv = 0;
fName = cl->GetName();
fPointers = false;
int nested = 0;
std::vector<std::string> inside;
int num = TClassEdit::GetSplit(cl->GetName(),inside,nested);
if ( num > 1 ) {
std::string nam;
if ( inside[0].find("stdext::hash_") != std::string::npos )
inside[0].replace(3,10,"::");
if ( inside[0].find("__gnu_cxx::hash_") != std::string::npos )
inside[0].replace(0,16,"std::");
fSTL_type = TClassEdit::STLKind(inside[0].c_str());
int slong = sizeof(void*);
switch ( fSTL_type ) {
case TClassEdit::kMap:
case TClassEdit::kMultiMap:
nam = "pair<"+inside[1]+","+inside[2];
nam += (nam[nam.length()-1]=='>') ? " >" : ">";
fValue = new Value(nam);
fVal = new Value(inside[2]);
fKey = new Value(inside[1]);
fPointers = fPointers || (0 != (fKey->fCase&G__BIT_ISPOINTER));
if ( 0 == fValDiff ) {
fValDiff = fKey->fSize + fVal->fSize;
fValDiff += (slong - fKey->fSize%slong)%slong;
fValDiff += (slong - fValDiff%slong)%slong;
}
if ( 0 == fValOffset ) {
fValOffset = fKey->fSize;
fValOffset += (slong - fKey->fSize%slong)%slong;
}
break;
default:
fValue = new Value(inside[1]);
fVal = new Value(*fValue);
if ( 0 == fValDiff ) {
fValDiff = fVal->fSize;
fValDiff += (slong - fValDiff%slong)%slong;
}
break;
}
if (TVirtualStreamerInfo::GetStreamMemberWise() && fValue->fType.GetClass()) {
Bool_t optim = TVirtualStreamerInfo::CanOptimize();
TVirtualStreamerInfo::Optimize(kFALSE);
fValue->fType.GetClass()->GetStreamerInfo()->Compile();
TVirtualStreamerInfo::Optimize(optim);
}
fPointers = fPointers || (0 != (fVal->fCase&G__BIT_ISPOINTER));
fClass = cl;
return this;
}
Fatal("TGenCollectionProxy","Components of %s not analysed!",cl->GetName());
}
Fatal("TGenCollectionProxy","Collection class %s not found!",fTypeinfo.name());
return 0;
}
TClass *TGenCollectionProxy::GetCollectionClass()
{
return fClass ? fClass : Initialize()->fClass;
}
UInt_t TGenCollectionProxy::Sizeof() const
{
return fClass->Size();
}
Bool_t TGenCollectionProxy::HasPointers() const
{
if( !fValue )
Initialize();
return fPointers && !(fSTL_type == TClassEdit::kMap || fSTL_type == TClassEdit::kMultiMap);
}
TClass *TGenCollectionProxy::GetValueClass()
{
if (!fValue) Initialize();
return fValue ? fValue->fType.GetClass() : 0;
}
void TGenCollectionProxy::SetValueClass(TClass *new_Value_type)
{
if (!fValue) Initialize();
fValue->fType = new_Value_type;
}
EDataType TGenCollectionProxy::GetType()
{
if ( !fValue ) Initialize();
return fValue->fKind;
}
void* TGenCollectionProxy::At(UInt_t idx)
{
if ( fEnv && fEnv->fObject ) {
switch (fSTL_type) {
case TClassEdit::kVector:
fEnv->fIdx = idx;
switch( idx ) {
case 0:
return fEnv->fStart = fFirst.invoke(fEnv);
default:
if (! fEnv->fStart ) fEnv->fStart = fFirst.invoke(fEnv);
return ((char*)fEnv->fStart) + fValDiff*idx;
}
case TClassEdit::kSet:
case TClassEdit::kMultiSet:
case TClassEdit::kMap:
case TClassEdit::kMultiMap:
if ( fEnv->fUseTemp ) {
return (((char*)fEnv->fTemp)+idx*fValDiff);
}
default:
switch( idx ) {
case 0:
fEnv->fIdx = idx;
return fEnv->fStart = fFirst.invoke(fEnv);
default: {
fEnv->fIdx = idx - fEnv->fIdx;
if (! fEnv->fStart ) fEnv->fStart = fFirst.invoke(fEnv);
void* result = fNext.invoke(fEnv);
fEnv->fIdx = idx;
return result;
}
}
}
}
Fatal("TGenCollectionProxy","At> Logic error - no proxy object set.");
return 0;
}
void TGenCollectionProxy::Clear(const char* opt)
{
if ( fEnv && fEnv->fObject ) {
if ( fPointers && opt && *opt=='f' ) {
size_t i, n = *(size_t*)fSize.invoke(fEnv);
if ( n > 0 ) {
for (i=0; i<n; ++i)
DeleteItem(true, TGenCollectionProxy::At(i));
}
}
fClear.invoke(fEnv);
}
}
UInt_t TGenCollectionProxy::Size() const
{
if ( fEnv && fEnv->fObject ) {
return *(size_t*)fSize.invoke(fEnv);
}
Fatal("TGenCollectionProxy","Size> Logic error - no proxy object set.");
return 0;
}
void TGenCollectionProxy::Resize(UInt_t n, Bool_t force)
{
if ( fEnv && fEnv->fObject ) {
if ( force && fPointers ) {
size_t i, nold = *(size_t*)fSize.invoke(fEnv);
if ( n != nold ) {
for (i=n; i<nold; ++i)
DeleteItem(true, *(void**)TGenCollectionProxy::At(i));
}
}
MESSAGE(3, "Resize(n)" );
fEnv->fSize = n;
fResize.invoke(fEnv);
return;
}
Fatal("TGenCollectionProxy","Resize> Logic error - no proxy object set.");
}
void* TGenCollectionProxy::Allocate(UInt_t n, Bool_t )
{
if ( fEnv && fEnv->fObject ) {
switch ( fSTL_type ) {
case TClassEdit::kSet:
case TClassEdit::kMultiSet:
case TClassEdit::kMap:
case TClassEdit::kMultiMap:
if ( fPointers )
Clear("force");
else
fClear.invoke(fEnv);
++fEnv->fRefCount;
fEnv->fSize = n;
if ( fEnv->fSpace < fValDiff*n ) {
fEnv->fTemp = fEnv->fTemp ? ::realloc(fEnv->fTemp,fValDiff*n) : ::malloc(fValDiff*n);
fEnv->fSpace = fValDiff*n;
}
fEnv->fUseTemp = kTRUE;
fEnv->fStart = fEnv->fTemp;
fConstruct.invoke(fEnv);
return fEnv;
case TClassEdit::kVector:
case TClassEdit::kList:
case TClassEdit::kDeque:
if( fPointers ) {
Clear("force");
}
fEnv->fSize = n;
fResize.invoke(fEnv);
return fEnv;
}
}
return 0;
}
void TGenCollectionProxy::Commit(void* env)
{
switch (fSTL_type) {
case TClassEdit::kVector:
case TClassEdit::kList:
case TClassEdit::kDeque:
return;
case TClassEdit::kMap:
case TClassEdit::kMultiMap:
case TClassEdit::kSet:
case TClassEdit::kMultiSet:
if ( env ) {
EnvironBase_t* e = (EnvironBase_t*)env;
if ( e->fObject ) {
e->fStart = e->fTemp;
fFeed.invoke(e);
}
fDestruct.invoke(e);
e->fStart = 0;
--e->fRefCount;
}
return;
default:
return;
}
}
void TGenCollectionProxy::PushProxy(void *objstart)
{
if ( !fValue ) Initialize();
if ( !fProxyList.empty() ) {
EnvironBase_t* back = fProxyList.back();
if ( back->fObject == objstart ) {
++back->fRefCount;
fProxyList.push_back(back);
fEnv = back;
return;
}
}
EnvironBase_t* e = 0;
if ( fProxyKept.empty() ) {
e = (EnvironBase_t*)fCreateEnv.invoke();
e->fSpace = 0;
e->fTemp = 0;
e->fUseTemp = kFALSE;
}
else {
e = fProxyKept.back();
fProxyKept.pop_back();
}
e->fSize = 0;
e->fRefCount = 1;
e->fObject = objstart;
e->fStart = 0;
e->fIdx = 0;
fProxyList.push_back(e);
fEnv = e;
}
void TGenCollectionProxy::PopProxy()
{
if ( !fProxyList.empty() ) {
EnvironBase_t* e = fProxyList.back();
if ( --e->fRefCount <= 0 ) {
fProxyKept.push_back(e);
e->fUseTemp = kFALSE;
}
fProxyList.pop_back();
}
fEnv = fProxyList.empty() ? 0 : fProxyList.back();
}
void TGenCollectionProxy::DeleteItem(Bool_t force, void* ptr) const
{
if ( force && ptr ) {
switch (fSTL_type) {
case TClassEdit::kMap:
case TClassEdit::kMultiMap:
if ( fKey->fCase&G__BIT_ISPOINTER ) {
fKey->DeleteItem(*(void**)ptr);
}
if ( fVal->fCase&G__BIT_ISPOINTER ) {
char *addr = ((char*)ptr)+fValOffset;
fVal->DeleteItem(*(void**)addr);
}
break;
default:
if ( fVal->fCase&G__BIT_ISPOINTER ) {
fVal->DeleteItem(*(void**)ptr);
}
break;
}
}
}
void TGenCollectionProxy::Streamer(TBuffer &buff)
{
if ( fEnv ) {
GetCollectionClass()->Streamer( fEnv->fObject, buff );
return;
}
Fatal("TGenCollectionProxy","Streamer> Logic error - no proxy object set.");
}
void TGenCollectionProxy::Streamer(TBuffer &buff, void *objp, int )
{
TPushPop env(this, objp);
Streamer(buff);
}
void TGenCollectionProxy::operator()(TBuffer &b, void *objp)
{
Streamer(b, objp, 0);
}
TGenCollectionProxy.cxx:1 TGenCollectionProxy.cxx:2 TGenCollectionProxy.cxx:3 TGenCollectionProxy.cxx:4 TGenCollectionProxy.cxx:5 TGenCollectionProxy.cxx:6 TGenCollectionProxy.cxx:7 TGenCollectionProxy.cxx:8 TGenCollectionProxy.cxx:9 TGenCollectionProxy.cxx:10 TGenCollectionProxy.cxx:11 TGenCollectionProxy.cxx:12 TGenCollectionProxy.cxx:13 TGenCollectionProxy.cxx:14 TGenCollectionProxy.cxx:15 TGenCollectionProxy.cxx:16 TGenCollectionProxy.cxx:17 TGenCollectionProxy.cxx:18 TGenCollectionProxy.cxx:19 TGenCollectionProxy.cxx:20 TGenCollectionProxy.cxx:21 TGenCollectionProxy.cxx:22 TGenCollectionProxy.cxx:23 TGenCollectionProxy.cxx:24 TGenCollectionProxy.cxx:25 TGenCollectionProxy.cxx:26 TGenCollectionProxy.cxx:27 TGenCollectionProxy.cxx:28 TGenCollectionProxy.cxx:29 TGenCollectionProxy.cxx:30 TGenCollectionProxy.cxx:31 TGenCollectionProxy.cxx:32 TGenCollectionProxy.cxx:33 TGenCollectionProxy.cxx:34 TGenCollectionProxy.cxx:35 TGenCollectionProxy.cxx:36 TGenCollectionProxy.cxx:37 TGenCollectionProxy.cxx:38 TGenCollectionProxy.cxx:39 TGenCollectionProxy.cxx:40 TGenCollectionProxy.cxx:41 TGenCollectionProxy.cxx:42 TGenCollectionProxy.cxx:43 TGenCollectionProxy.cxx:44 TGenCollectionProxy.cxx:45 TGenCollectionProxy.cxx:46 TGenCollectionProxy.cxx:47 TGenCollectionProxy.cxx:48 TGenCollectionProxy.cxx:49 TGenCollectionProxy.cxx:50 TGenCollectionProxy.cxx:51 TGenCollectionProxy.cxx:52 TGenCollectionProxy.cxx:53 TGenCollectionProxy.cxx:54 TGenCollectionProxy.cxx:55 TGenCollectionProxy.cxx:56 TGenCollectionProxy.cxx:57 TGenCollectionProxy.cxx:58 TGenCollectionProxy.cxx:59 TGenCollectionProxy.cxx:60 TGenCollectionProxy.cxx:61 TGenCollectionProxy.cxx:62 TGenCollectionProxy.cxx:63 TGenCollectionProxy.cxx:64 TGenCollectionProxy.cxx:65 TGenCollectionProxy.cxx:66 TGenCollectionProxy.cxx:67 TGenCollectionProxy.cxx:68 TGenCollectionProxy.cxx:69 TGenCollectionProxy.cxx:70 TGenCollectionProxy.cxx:71 TGenCollectionProxy.cxx:72 TGenCollectionProxy.cxx:73 TGenCollectionProxy.cxx:74 TGenCollectionProxy.cxx:75 TGenCollectionProxy.cxx:76 TGenCollectionProxy.cxx:77 TGenCollectionProxy.cxx:78 TGenCollectionProxy.cxx:79 TGenCollectionProxy.cxx:80 TGenCollectionProxy.cxx:81 TGenCollectionProxy.cxx:82 TGenCollectionProxy.cxx:83 TGenCollectionProxy.cxx:84 TGenCollectionProxy.cxx:85 TGenCollectionProxy.cxx:86 TGenCollectionProxy.cxx:87 TGenCollectionProxy.cxx:88 TGenCollectionProxy.cxx:89 TGenCollectionProxy.cxx:90 TGenCollectionProxy.cxx:91 TGenCollectionProxy.cxx:92 TGenCollectionProxy.cxx:93 TGenCollectionProxy.cxx:94 TGenCollectionProxy.cxx:95 TGenCollectionProxy.cxx:96 TGenCollectionProxy.cxx:97 TGenCollectionProxy.cxx:98 TGenCollectionProxy.cxx:99 TGenCollectionProxy.cxx:100 TGenCollectionProxy.cxx:101 TGenCollectionProxy.cxx:102 TGenCollectionProxy.cxx:103 TGenCollectionProxy.cxx:104 TGenCollectionProxy.cxx:105 TGenCollectionProxy.cxx:106 TGenCollectionProxy.cxx:107 TGenCollectionProxy.cxx:108 TGenCollectionProxy.cxx:109 TGenCollectionProxy.cxx:110 TGenCollectionProxy.cxx:111 TGenCollectionProxy.cxx:112 TGenCollectionProxy.cxx:113 TGenCollectionProxy.cxx:114 TGenCollectionProxy.cxx:115 TGenCollectionProxy.cxx:116 TGenCollectionProxy.cxx:117 TGenCollectionProxy.cxx:118 TGenCollectionProxy.cxx:119 TGenCollectionProxy.cxx:120 TGenCollectionProxy.cxx:121 TGenCollectionProxy.cxx:122 TGenCollectionProxy.cxx:123 TGenCollectionProxy.cxx:124 TGenCollectionProxy.cxx:125 TGenCollectionProxy.cxx:126 TGenCollectionProxy.cxx:127 TGenCollectionProxy.cxx:128 TGenCollectionProxy.cxx:129 TGenCollectionProxy.cxx:130 TGenCollectionProxy.cxx:131 TGenCollectionProxy.cxx:132 TGenCollectionProxy.cxx:133 TGenCollectionProxy.cxx:134 TGenCollectionProxy.cxx:135 TGenCollectionProxy.cxx:136 TGenCollectionProxy.cxx:137 TGenCollectionProxy.cxx:138 TGenCollectionProxy.cxx:139 TGenCollectionProxy.cxx:140 TGenCollectionProxy.cxx:141 TGenCollectionProxy.cxx:142 TGenCollectionProxy.cxx:143 TGenCollectionProxy.cxx:144 TGenCollectionProxy.cxx:145 TGenCollectionProxy.cxx:146 TGenCollectionProxy.cxx:147 TGenCollectionProxy.cxx:148 TGenCollectionProxy.cxx:149 TGenCollectionProxy.cxx:150 TGenCollectionProxy.cxx:151 TGenCollectionProxy.cxx:152 TGenCollectionProxy.cxx:153 TGenCollectionProxy.cxx:154 TGenCollectionProxy.cxx:155 TGenCollectionProxy.cxx:156 TGenCollectionProxy.cxx:157 TGenCollectionProxy.cxx:158 TGenCollectionProxy.cxx:159 TGenCollectionProxy.cxx:160 TGenCollectionProxy.cxx:161 TGenCollectionProxy.cxx:162 TGenCollectionProxy.cxx:163 TGenCollectionProxy.cxx:164 TGenCollectionProxy.cxx:165 TGenCollectionProxy.cxx:166 TGenCollectionProxy.cxx:167 TGenCollectionProxy.cxx:168 TGenCollectionProxy.cxx:169 TGenCollectionProxy.cxx:170 TGenCollectionProxy.cxx:171 TGenCollectionProxy.cxx:172 TGenCollectionProxy.cxx:173 TGenCollectionProxy.cxx:174 TGenCollectionProxy.cxx:175 TGenCollectionProxy.cxx:176 TGenCollectionProxy.cxx:177 TGenCollectionProxy.cxx:178 TGenCollectionProxy.cxx:179 TGenCollectionProxy.cxx:180 TGenCollectionProxy.cxx:181 TGenCollectionProxy.cxx:182 TGenCollectionProxy.cxx:183 TGenCollectionProxy.cxx:184 TGenCollectionProxy.cxx:185 TGenCollectionProxy.cxx:186 TGenCollectionProxy.cxx:187 TGenCollectionProxy.cxx:188 TGenCollectionProxy.cxx:189 TGenCollectionProxy.cxx:190 TGenCollectionProxy.cxx:191 TGenCollectionProxy.cxx:192 TGenCollectionProxy.cxx:193 TGenCollectionProxy.cxx:194 TGenCollectionProxy.cxx:195 TGenCollectionProxy.cxx:196 TGenCollectionProxy.cxx:197 TGenCollectionProxy.cxx:198 TGenCollectionProxy.cxx:199 TGenCollectionProxy.cxx:200 TGenCollectionProxy.cxx:201 TGenCollectionProxy.cxx:202 TGenCollectionProxy.cxx:203 TGenCollectionProxy.cxx:204 TGenCollectionProxy.cxx:205 TGenCollectionProxy.cxx:206 TGenCollectionProxy.cxx:207 TGenCollectionProxy.cxx:208 TGenCollectionProxy.cxx:209 TGenCollectionProxy.cxx:210 TGenCollectionProxy.cxx:211 TGenCollectionProxy.cxx:212 TGenCollectionProxy.cxx:213 TGenCollectionProxy.cxx:214 TGenCollectionProxy.cxx:215 TGenCollectionProxy.cxx:216 TGenCollectionProxy.cxx:217 TGenCollectionProxy.cxx:218 TGenCollectionProxy.cxx:219 TGenCollectionProxy.cxx:220 TGenCollectionProxy.cxx:221 TGenCollectionProxy.cxx:222 TGenCollectionProxy.cxx:223 TGenCollectionProxy.cxx:224 TGenCollectionProxy.cxx:225 TGenCollectionProxy.cxx:226 TGenCollectionProxy.cxx:227 TGenCollectionProxy.cxx:228 TGenCollectionProxy.cxx:229 TGenCollectionProxy.cxx:230 TGenCollectionProxy.cxx:231 TGenCollectionProxy.cxx:232 TGenCollectionProxy.cxx:233 TGenCollectionProxy.cxx:234 TGenCollectionProxy.cxx:235 TGenCollectionProxy.cxx:236 TGenCollectionProxy.cxx:237 TGenCollectionProxy.cxx:238 TGenCollectionProxy.cxx:239 TGenCollectionProxy.cxx:240 TGenCollectionProxy.cxx:241 TGenCollectionProxy.cxx:242 TGenCollectionProxy.cxx:243 TGenCollectionProxy.cxx:244 TGenCollectionProxy.cxx:245 TGenCollectionProxy.cxx:246 TGenCollectionProxy.cxx:247 TGenCollectionProxy.cxx:248 TGenCollectionProxy.cxx:249 TGenCollectionProxy.cxx:250 TGenCollectionProxy.cxx:251 TGenCollectionProxy.cxx:252 TGenCollectionProxy.cxx:253 TGenCollectionProxy.cxx:254 TGenCollectionProxy.cxx:255 TGenCollectionProxy.cxx:256 TGenCollectionProxy.cxx:257 TGenCollectionProxy.cxx:258 TGenCollectionProxy.cxx:259 TGenCollectionProxy.cxx:260 TGenCollectionProxy.cxx:261 TGenCollectionProxy.cxx:262 TGenCollectionProxy.cxx:263 TGenCollectionProxy.cxx:264 TGenCollectionProxy.cxx:265 TGenCollectionProxy.cxx:266 TGenCollectionProxy.cxx:267 TGenCollectionProxy.cxx:268 TGenCollectionProxy.cxx:269 TGenCollectionProxy.cxx:270 TGenCollectionProxy.cxx:271 TGenCollectionProxy.cxx:272 TGenCollectionProxy.cxx:273 TGenCollectionProxy.cxx:274 TGenCollectionProxy.cxx:275 TGenCollectionProxy.cxx:276 TGenCollectionProxy.cxx:277 TGenCollectionProxy.cxx:278 TGenCollectionProxy.cxx:279 TGenCollectionProxy.cxx:280 TGenCollectionProxy.cxx:281 TGenCollectionProxy.cxx:282 TGenCollectionProxy.cxx:283 TGenCollectionProxy.cxx:284 TGenCollectionProxy.cxx:285 TGenCollectionProxy.cxx:286 TGenCollectionProxy.cxx:287 TGenCollectionProxy.cxx:288 TGenCollectionProxy.cxx:289 TGenCollectionProxy.cxx:290 TGenCollectionProxy.cxx:291 TGenCollectionProxy.cxx:292 TGenCollectionProxy.cxx:293 TGenCollectionProxy.cxx:294 TGenCollectionProxy.cxx:295 TGenCollectionProxy.cxx:296 TGenCollectionProxy.cxx:297 TGenCollectionProxy.cxx:298 TGenCollectionProxy.cxx:299 TGenCollectionProxy.cxx:300 TGenCollectionProxy.cxx:301 TGenCollectionProxy.cxx:302 TGenCollectionProxy.cxx:303 TGenCollectionProxy.cxx:304 TGenCollectionProxy.cxx:305 TGenCollectionProxy.cxx:306 TGenCollectionProxy.cxx:307 TGenCollectionProxy.cxx:308 TGenCollectionProxy.cxx:309 TGenCollectionProxy.cxx:310 TGenCollectionProxy.cxx:311 TGenCollectionProxy.cxx:312 TGenCollectionProxy.cxx:313 TGenCollectionProxy.cxx:314 TGenCollectionProxy.cxx:315 TGenCollectionProxy.cxx:316 TGenCollectionProxy.cxx:317 TGenCollectionProxy.cxx:318 TGenCollectionProxy.cxx:319 TGenCollectionProxy.cxx:320 TGenCollectionProxy.cxx:321 TGenCollectionProxy.cxx:322 TGenCollectionProxy.cxx:323 TGenCollectionProxy.cxx:324 TGenCollectionProxy.cxx:325 TGenCollectionProxy.cxx:326 TGenCollectionProxy.cxx:327 TGenCollectionProxy.cxx:328 TGenCollectionProxy.cxx:329 TGenCollectionProxy.cxx:330 TGenCollectionProxy.cxx:331 TGenCollectionProxy.cxx:332 TGenCollectionProxy.cxx:333 TGenCollectionProxy.cxx:334 TGenCollectionProxy.cxx:335 TGenCollectionProxy.cxx:336 TGenCollectionProxy.cxx:337 TGenCollectionProxy.cxx:338 TGenCollectionProxy.cxx:339 TGenCollectionProxy.cxx:340 TGenCollectionProxy.cxx:341 TGenCollectionProxy.cxx:342 TGenCollectionProxy.cxx:343 TGenCollectionProxy.cxx:344 TGenCollectionProxy.cxx:345 TGenCollectionProxy.cxx:346 TGenCollectionProxy.cxx:347 TGenCollectionProxy.cxx:348 TGenCollectionProxy.cxx:349 TGenCollectionProxy.cxx:350 TGenCollectionProxy.cxx:351 TGenCollectionProxy.cxx:352 TGenCollectionProxy.cxx:353 TGenCollectionProxy.cxx:354 TGenCollectionProxy.cxx:355 TGenCollectionProxy.cxx:356 TGenCollectionProxy.cxx:357 TGenCollectionProxy.cxx:358 TGenCollectionProxy.cxx:359 TGenCollectionProxy.cxx:360 TGenCollectionProxy.cxx:361 TGenCollectionProxy.cxx:362 TGenCollectionProxy.cxx:363 TGenCollectionProxy.cxx:364 TGenCollectionProxy.cxx:365 TGenCollectionProxy.cxx:366 TGenCollectionProxy.cxx:367 TGenCollectionProxy.cxx:368 TGenCollectionProxy.cxx:369 TGenCollectionProxy.cxx:370 TGenCollectionProxy.cxx:371 TGenCollectionProxy.cxx:372 TGenCollectionProxy.cxx:373 TGenCollectionProxy.cxx:374 TGenCollectionProxy.cxx:375 TGenCollectionProxy.cxx:376 TGenCollectionProxy.cxx:377 TGenCollectionProxy.cxx:378 TGenCollectionProxy.cxx:379 TGenCollectionProxy.cxx:380 TGenCollectionProxy.cxx:381 TGenCollectionProxy.cxx:382 TGenCollectionProxy.cxx:383 TGenCollectionProxy.cxx:384 TGenCollectionProxy.cxx:385 TGenCollectionProxy.cxx:386 TGenCollectionProxy.cxx:387 TGenCollectionProxy.cxx:388 TGenCollectionProxy.cxx:389 TGenCollectionProxy.cxx:390 TGenCollectionProxy.cxx:391 TGenCollectionProxy.cxx:392 TGenCollectionProxy.cxx:393 TGenCollectionProxy.cxx:394 TGenCollectionProxy.cxx:395 TGenCollectionProxy.cxx:396 TGenCollectionProxy.cxx:397 TGenCollectionProxy.cxx:398 TGenCollectionProxy.cxx:399 TGenCollectionProxy.cxx:400 TGenCollectionProxy.cxx:401 TGenCollectionProxy.cxx:402 TGenCollectionProxy.cxx:403 TGenCollectionProxy.cxx:404 TGenCollectionProxy.cxx:405 TGenCollectionProxy.cxx:406 TGenCollectionProxy.cxx:407 TGenCollectionProxy.cxx:408 TGenCollectionProxy.cxx:409 TGenCollectionProxy.cxx:410 TGenCollectionProxy.cxx:411 TGenCollectionProxy.cxx:412 TGenCollectionProxy.cxx:413 TGenCollectionProxy.cxx:414 TGenCollectionProxy.cxx:415 TGenCollectionProxy.cxx:416 TGenCollectionProxy.cxx:417 TGenCollectionProxy.cxx:418 TGenCollectionProxy.cxx:419 TGenCollectionProxy.cxx:420 TGenCollectionProxy.cxx:421 TGenCollectionProxy.cxx:422 TGenCollectionProxy.cxx:423 TGenCollectionProxy.cxx:424 TGenCollectionProxy.cxx:425 TGenCollectionProxy.cxx:426 TGenCollectionProxy.cxx:427 TGenCollectionProxy.cxx:428 TGenCollectionProxy.cxx:429 TGenCollectionProxy.cxx:430 TGenCollectionProxy.cxx:431 TGenCollectionProxy.cxx:432 TGenCollectionProxy.cxx:433 TGenCollectionProxy.cxx:434 TGenCollectionProxy.cxx:435 TGenCollectionProxy.cxx:436 TGenCollectionProxy.cxx:437 TGenCollectionProxy.cxx:438 TGenCollectionProxy.cxx:439 TGenCollectionProxy.cxx:440 TGenCollectionProxy.cxx:441 TGenCollectionProxy.cxx:442 TGenCollectionProxy.cxx:443 TGenCollectionProxy.cxx:444 TGenCollectionProxy.cxx:445 TGenCollectionProxy.cxx:446 TGenCollectionProxy.cxx:447 TGenCollectionProxy.cxx:448 TGenCollectionProxy.cxx:449 TGenCollectionProxy.cxx:450 TGenCollectionProxy.cxx:451 TGenCollectionProxy.cxx:452 TGenCollectionProxy.cxx:453 TGenCollectionProxy.cxx:454 TGenCollectionProxy.cxx:455 TGenCollectionProxy.cxx:456 TGenCollectionProxy.cxx:457 TGenCollectionProxy.cxx:458 TGenCollectionProxy.cxx:459 TGenCollectionProxy.cxx:460 TGenCollectionProxy.cxx:461 TGenCollectionProxy.cxx:462 TGenCollectionProxy.cxx:463 TGenCollectionProxy.cxx:464 TGenCollectionProxy.cxx:465 TGenCollectionProxy.cxx:466 TGenCollectionProxy.cxx:467 TGenCollectionProxy.cxx:468 TGenCollectionProxy.cxx:469 TGenCollectionProxy.cxx:470 TGenCollectionProxy.cxx:471 TGenCollectionProxy.cxx:472 TGenCollectionProxy.cxx:473 TGenCollectionProxy.cxx:474 TGenCollectionProxy.cxx:475 TGenCollectionProxy.cxx:476 TGenCollectionProxy.cxx:477 TGenCollectionProxy.cxx:478 TGenCollectionProxy.cxx:479 TGenCollectionProxy.cxx:480 TGenCollectionProxy.cxx:481 TGenCollectionProxy.cxx:482 TGenCollectionProxy.cxx:483 TGenCollectionProxy.cxx:484 TGenCollectionProxy.cxx:485 TGenCollectionProxy.cxx:486 TGenCollectionProxy.cxx:487 TGenCollectionProxy.cxx:488 TGenCollectionProxy.cxx:489 TGenCollectionProxy.cxx:490 TGenCollectionProxy.cxx:491 TGenCollectionProxy.cxx:492 TGenCollectionProxy.cxx:493 TGenCollectionProxy.cxx:494 TGenCollectionProxy.cxx:495 TGenCollectionProxy.cxx:496 TGenCollectionProxy.cxx:497 TGenCollectionProxy.cxx:498 TGenCollectionProxy.cxx:499 TGenCollectionProxy.cxx:500 TGenCollectionProxy.cxx:501 TGenCollectionProxy.cxx:502 TGenCollectionProxy.cxx:503 TGenCollectionProxy.cxx:504 TGenCollectionProxy.cxx:505 TGenCollectionProxy.cxx:506 TGenCollectionProxy.cxx:507 TGenCollectionProxy.cxx:508 TGenCollectionProxy.cxx:509 TGenCollectionProxy.cxx:510 TGenCollectionProxy.cxx:511 TGenCollectionProxy.cxx:512 TGenCollectionProxy.cxx:513 TGenCollectionProxy.cxx:514 TGenCollectionProxy.cxx:515 TGenCollectionProxy.cxx:516 TGenCollectionProxy.cxx:517 TGenCollectionProxy.cxx:518 TGenCollectionProxy.cxx:519 TGenCollectionProxy.cxx:520 TGenCollectionProxy.cxx:521 TGenCollectionProxy.cxx:522 TGenCollectionProxy.cxx:523 TGenCollectionProxy.cxx:524 TGenCollectionProxy.cxx:525 TGenCollectionProxy.cxx:526 TGenCollectionProxy.cxx:527 TGenCollectionProxy.cxx:528 TGenCollectionProxy.cxx:529 TGenCollectionProxy.cxx:530 TGenCollectionProxy.cxx:531 TGenCollectionProxy.cxx:532 TGenCollectionProxy.cxx:533 TGenCollectionProxy.cxx:534 TGenCollectionProxy.cxx:535 TGenCollectionProxy.cxx:536 TGenCollectionProxy.cxx:537 TGenCollectionProxy.cxx:538 TGenCollectionProxy.cxx:539 TGenCollectionProxy.cxx:540 TGenCollectionProxy.cxx:541 TGenCollectionProxy.cxx:542 TGenCollectionProxy.cxx:543 TGenCollectionProxy.cxx:544 TGenCollectionProxy.cxx:545 TGenCollectionProxy.cxx:546 TGenCollectionProxy.cxx:547 TGenCollectionProxy.cxx:548 TGenCollectionProxy.cxx:549 TGenCollectionProxy.cxx:550 TGenCollectionProxy.cxx:551 TGenCollectionProxy.cxx:552 TGenCollectionProxy.cxx:553 TGenCollectionProxy.cxx:554 TGenCollectionProxy.cxx:555 TGenCollectionProxy.cxx:556 TGenCollectionProxy.cxx:557 TGenCollectionProxy.cxx:558 TGenCollectionProxy.cxx:559 TGenCollectionProxy.cxx:560 TGenCollectionProxy.cxx:561 TGenCollectionProxy.cxx:562 TGenCollectionProxy.cxx:563 TGenCollectionProxy.cxx:564 TGenCollectionProxy.cxx:565 TGenCollectionProxy.cxx:566 TGenCollectionProxy.cxx:567 TGenCollectionProxy.cxx:568 TGenCollectionProxy.cxx:569 TGenCollectionProxy.cxx:570 TGenCollectionProxy.cxx:571 TGenCollectionProxy.cxx:572 TGenCollectionProxy.cxx:573 TGenCollectionProxy.cxx:574 TGenCollectionProxy.cxx:575 TGenCollectionProxy.cxx:576 TGenCollectionProxy.cxx:577 TGenCollectionProxy.cxx:578 TGenCollectionProxy.cxx:579 TGenCollectionProxy.cxx:580 TGenCollectionProxy.cxx:581 TGenCollectionProxy.cxx:582 TGenCollectionProxy.cxx:583 TGenCollectionProxy.cxx:584 TGenCollectionProxy.cxx:585 TGenCollectionProxy.cxx:586 TGenCollectionProxy.cxx:587 TGenCollectionProxy.cxx:588 TGenCollectionProxy.cxx:589 TGenCollectionProxy.cxx:590 TGenCollectionProxy.cxx:591 TGenCollectionProxy.cxx:592 TGenCollectionProxy.cxx:593 TGenCollectionProxy.cxx:594 TGenCollectionProxy.cxx:595 TGenCollectionProxy.cxx:596 TGenCollectionProxy.cxx:597 TGenCollectionProxy.cxx:598 TGenCollectionProxy.cxx:599 TGenCollectionProxy.cxx:600 TGenCollectionProxy.cxx:601 TGenCollectionProxy.cxx:602 TGenCollectionProxy.cxx:603 TGenCollectionProxy.cxx:604 TGenCollectionProxy.cxx:605 TGenCollectionProxy.cxx:606 TGenCollectionProxy.cxx:607 TGenCollectionProxy.cxx:608 TGenCollectionProxy.cxx:609 TGenCollectionProxy.cxx:610 TGenCollectionProxy.cxx:611 TGenCollectionProxy.cxx:612 TGenCollectionProxy.cxx:613 TGenCollectionProxy.cxx:614 TGenCollectionProxy.cxx:615 TGenCollectionProxy.cxx:616 TGenCollectionProxy.cxx:617 TGenCollectionProxy.cxx:618 TGenCollectionProxy.cxx:619 TGenCollectionProxy.cxx:620 TGenCollectionProxy.cxx:621 TGenCollectionProxy.cxx:622 TGenCollectionProxy.cxx:623 TGenCollectionProxy.cxx:624 TGenCollectionProxy.cxx:625 TGenCollectionProxy.cxx:626 TGenCollectionProxy.cxx:627 TGenCollectionProxy.cxx:628 TGenCollectionProxy.cxx:629 TGenCollectionProxy.cxx:630 TGenCollectionProxy.cxx:631 TGenCollectionProxy.cxx:632 TGenCollectionProxy.cxx:633 TGenCollectionProxy.cxx:634 TGenCollectionProxy.cxx:635 TGenCollectionProxy.cxx:636 TGenCollectionProxy.cxx:637 TGenCollectionProxy.cxx:638 TGenCollectionProxy.cxx:639 TGenCollectionProxy.cxx:640 TGenCollectionProxy.cxx:641 TGenCollectionProxy.cxx:642 TGenCollectionProxy.cxx:643 TGenCollectionProxy.cxx:644 TGenCollectionProxy.cxx:645 TGenCollectionProxy.cxx:646 TGenCollectionProxy.cxx:647 TGenCollectionProxy.cxx:648 TGenCollectionProxy.cxx:649 TGenCollectionProxy.cxx:650 TGenCollectionProxy.cxx:651 TGenCollectionProxy.cxx:652 TGenCollectionProxy.cxx:653 TGenCollectionProxy.cxx:654 TGenCollectionProxy.cxx:655 TGenCollectionProxy.cxx:656 TGenCollectionProxy.cxx:657 TGenCollectionProxy.cxx:658 TGenCollectionProxy.cxx:659 TGenCollectionProxy.cxx:660 TGenCollectionProxy.cxx:661 TGenCollectionProxy.cxx:662 TGenCollectionProxy.cxx:663 TGenCollectionProxy.cxx:664 TGenCollectionProxy.cxx:665 TGenCollectionProxy.cxx:666 TGenCollectionProxy.cxx:667 TGenCollectionProxy.cxx:668 TGenCollectionProxy.cxx:669 TGenCollectionProxy.cxx:670 TGenCollectionProxy.cxx:671 TGenCollectionProxy.cxx:672 TGenCollectionProxy.cxx:673 TGenCollectionProxy.cxx:674 TGenCollectionProxy.cxx:675 TGenCollectionProxy.cxx:676 TGenCollectionProxy.cxx:677 TGenCollectionProxy.cxx:678 TGenCollectionProxy.cxx:679 TGenCollectionProxy.cxx:680 TGenCollectionProxy.cxx:681 TGenCollectionProxy.cxx:682 TGenCollectionProxy.cxx:683 TGenCollectionProxy.cxx:684 TGenCollectionProxy.cxx:685 TGenCollectionProxy.cxx:686 TGenCollectionProxy.cxx:687 TGenCollectionProxy.cxx:688 TGenCollectionProxy.cxx:689 TGenCollectionProxy.cxx:690 TGenCollectionProxy.cxx:691 TGenCollectionProxy.cxx:692 TGenCollectionProxy.cxx:693 TGenCollectionProxy.cxx:694 TGenCollectionProxy.cxx:695 TGenCollectionProxy.cxx:696 TGenCollectionProxy.cxx:697 TGenCollectionProxy.cxx:698 TGenCollectionProxy.cxx:699 TGenCollectionProxy.cxx:700 TGenCollectionProxy.cxx:701 TGenCollectionProxy.cxx:702 TGenCollectionProxy.cxx:703 TGenCollectionProxy.cxx:704 TGenCollectionProxy.cxx:705 TGenCollectionProxy.cxx:706 TGenCollectionProxy.cxx:707 TGenCollectionProxy.cxx:708 TGenCollectionProxy.cxx:709 TGenCollectionProxy.cxx:710 TGenCollectionProxy.cxx:711 TGenCollectionProxy.cxx:712 TGenCollectionProxy.cxx:713 TGenCollectionProxy.cxx:714 TGenCollectionProxy.cxx:715 TGenCollectionProxy.cxx:716 TGenCollectionProxy.cxx:717 TGenCollectionProxy.cxx:718 TGenCollectionProxy.cxx:719 TGenCollectionProxy.cxx:720 TGenCollectionProxy.cxx:721 TGenCollectionProxy.cxx:722 TGenCollectionProxy.cxx:723 TGenCollectionProxy.cxx:724 TGenCollectionProxy.cxx:725 TGenCollectionProxy.cxx:726 TGenCollectionProxy.cxx:727 TGenCollectionProxy.cxx:728 TGenCollectionProxy.cxx:729 TGenCollectionProxy.cxx:730 TGenCollectionProxy.cxx:731 TGenCollectionProxy.cxx:732 TGenCollectionProxy.cxx:733 TGenCollectionProxy.cxx:734 TGenCollectionProxy.cxx:735 TGenCollectionProxy.cxx:736 TGenCollectionProxy.cxx:737 TGenCollectionProxy.cxx:738 TGenCollectionProxy.cxx:739 TGenCollectionProxy.cxx:740 TGenCollectionProxy.cxx:741 TGenCollectionProxy.cxx:742 TGenCollectionProxy.cxx:743 TGenCollectionProxy.cxx:744 TGenCollectionProxy.cxx:745 TGenCollectionProxy.cxx:746 TGenCollectionProxy.cxx:747 TGenCollectionProxy.cxx:748 TGenCollectionProxy.cxx:749 TGenCollectionProxy.cxx:750 TGenCollectionProxy.cxx:751 TGenCollectionProxy.cxx:752 TGenCollectionProxy.cxx:753 TGenCollectionProxy.cxx:754 TGenCollectionProxy.cxx:755 TGenCollectionProxy.cxx:756 TGenCollectionProxy.cxx:757 TGenCollectionProxy.cxx:758 TGenCollectionProxy.cxx:759 TGenCollectionProxy.cxx:760 TGenCollectionProxy.cxx:761 TGenCollectionProxy.cxx:762 TGenCollectionProxy.cxx:763 TGenCollectionProxy.cxx:764 TGenCollectionProxy.cxx:765 TGenCollectionProxy.cxx:766 TGenCollectionProxy.cxx:767 TGenCollectionProxy.cxx:768 TGenCollectionProxy.cxx:769 TGenCollectionProxy.cxx:770 TGenCollectionProxy.cxx:771 TGenCollectionProxy.cxx:772 TGenCollectionProxy.cxx:773 TGenCollectionProxy.cxx:774 TGenCollectionProxy.cxx:775 TGenCollectionProxy.cxx:776 TGenCollectionProxy.cxx:777 TGenCollectionProxy.cxx:778 TGenCollectionProxy.cxx:779 TGenCollectionProxy.cxx:780 TGenCollectionProxy.cxx:781 TGenCollectionProxy.cxx:782 TGenCollectionProxy.cxx:783 TGenCollectionProxy.cxx:784 TGenCollectionProxy.cxx:785 TGenCollectionProxy.cxx:786 TGenCollectionProxy.cxx:787 TGenCollectionProxy.cxx:788 TGenCollectionProxy.cxx:789 TGenCollectionProxy.cxx:790 TGenCollectionProxy.cxx:791 TGenCollectionProxy.cxx:792 TGenCollectionProxy.cxx:793 TGenCollectionProxy.cxx:794 TGenCollectionProxy.cxx:795 TGenCollectionProxy.cxx:796 TGenCollectionProxy.cxx:797 TGenCollectionProxy.cxx:798 TGenCollectionProxy.cxx:799 TGenCollectionProxy.cxx:800 TGenCollectionProxy.cxx:801 TGenCollectionProxy.cxx:802 TGenCollectionProxy.cxx:803 TGenCollectionProxy.cxx:804 TGenCollectionProxy.cxx:805 TGenCollectionProxy.cxx:806 TGenCollectionProxy.cxx:807 TGenCollectionProxy.cxx:808 TGenCollectionProxy.cxx:809 TGenCollectionProxy.cxx:810 TGenCollectionProxy.cxx:811 TGenCollectionProxy.cxx:812 TGenCollectionProxy.cxx:813 TGenCollectionProxy.cxx:814 TGenCollectionProxy.cxx:815 TGenCollectionProxy.cxx:816 TGenCollectionProxy.cxx:817 TGenCollectionProxy.cxx:818 TGenCollectionProxy.cxx:819 TGenCollectionProxy.cxx:820 TGenCollectionProxy.cxx:821 TGenCollectionProxy.cxx:822 TGenCollectionProxy.cxx:823 TGenCollectionProxy.cxx:824 TGenCollectionProxy.cxx:825 TGenCollectionProxy.cxx:826 TGenCollectionProxy.cxx:827 TGenCollectionProxy.cxx:828 TGenCollectionProxy.cxx:829 TGenCollectionProxy.cxx:830 TGenCollectionProxy.cxx:831 TGenCollectionProxy.cxx:832 TGenCollectionProxy.cxx:833 TGenCollectionProxy.cxx:834 TGenCollectionProxy.cxx:835 TGenCollectionProxy.cxx:836 TGenCollectionProxy.cxx:837 TGenCollectionProxy.cxx:838 TGenCollectionProxy.cxx:839 TGenCollectionProxy.cxx:840 TGenCollectionProxy.cxx:841 TGenCollectionProxy.cxx:842 TGenCollectionProxy.cxx:843 TGenCollectionProxy.cxx:844 TGenCollectionProxy.cxx:845 TGenCollectionProxy.cxx:846 TGenCollectionProxy.cxx:847 TGenCollectionProxy.cxx:848 TGenCollectionProxy.cxx:849 TGenCollectionProxy.cxx:850 TGenCollectionProxy.cxx:851 TGenCollectionProxy.cxx:852 TGenCollectionProxy.cxx:853 TGenCollectionProxy.cxx:854 TGenCollectionProxy.cxx:855 TGenCollectionProxy.cxx:856 TGenCollectionProxy.cxx:857 TGenCollectionProxy.cxx:858 TGenCollectionProxy.cxx:859 TGenCollectionProxy.cxx:860 TGenCollectionProxy.cxx:861 TGenCollectionProxy.cxx:862 TGenCollectionProxy.cxx:863 TGenCollectionProxy.cxx:864 TGenCollectionProxy.cxx:865 TGenCollectionProxy.cxx:866 TGenCollectionProxy.cxx:867 TGenCollectionProxy.cxx:868 TGenCollectionProxy.cxx:869 TGenCollectionProxy.cxx:870 TGenCollectionProxy.cxx:871 TGenCollectionProxy.cxx:872 TGenCollectionProxy.cxx:873 TGenCollectionProxy.cxx:874 TGenCollectionProxy.cxx:875 TGenCollectionProxy.cxx:876 TGenCollectionProxy.cxx:877 TGenCollectionProxy.cxx:878 TGenCollectionProxy.cxx:879 TGenCollectionProxy.cxx:880 TGenCollectionProxy.cxx:881 TGenCollectionProxy.cxx:882 TGenCollectionProxy.cxx:883 TGenCollectionProxy.cxx:884 TGenCollectionProxy.cxx:885 TGenCollectionProxy.cxx:886 TGenCollectionProxy.cxx:887 TGenCollectionProxy.cxx:888 TGenCollectionProxy.cxx:889 TGenCollectionProxy.cxx:890 TGenCollectionProxy.cxx:891 TGenCollectionProxy.cxx:892 TGenCollectionProxy.cxx:893 TGenCollectionProxy.cxx:894 TGenCollectionProxy.cxx:895 TGenCollectionProxy.cxx:896 TGenCollectionProxy.cxx:897 TGenCollectionProxy.cxx:898 TGenCollectionProxy.cxx:899 TGenCollectionProxy.cxx:900 TGenCollectionProxy.cxx:901 TGenCollectionProxy.cxx:902 TGenCollectionProxy.cxx:903 TGenCollectionProxy.cxx:904 TGenCollectionProxy.cxx:905 TGenCollectionProxy.cxx:906 TGenCollectionProxy.cxx:907 TGenCollectionProxy.cxx:908 TGenCollectionProxy.cxx:909 TGenCollectionProxy.cxx:910 TGenCollectionProxy.cxx:911 TGenCollectionProxy.cxx:912 TGenCollectionProxy.cxx:913 TGenCollectionProxy.cxx:914 TGenCollectionProxy.cxx:915 TGenCollectionProxy.cxx:916 TGenCollectionProxy.cxx:917 TGenCollectionProxy.cxx:918 TGenCollectionProxy.cxx:919 TGenCollectionProxy.cxx:920 TGenCollectionProxy.cxx:921 TGenCollectionProxy.cxx:922 TGenCollectionProxy.cxx:923 TGenCollectionProxy.cxx:924 TGenCollectionProxy.cxx:925 TGenCollectionProxy.cxx:926 TGenCollectionProxy.cxx:927 TGenCollectionProxy.cxx:928 TGenCollectionProxy.cxx:929 TGenCollectionProxy.cxx:930 TGenCollectionProxy.cxx:931 TGenCollectionProxy.cxx:932 TGenCollectionProxy.cxx:933 TGenCollectionProxy.cxx:934 TGenCollectionProxy.cxx:935 TGenCollectionProxy.cxx:936 TGenCollectionProxy.cxx:937 TGenCollectionProxy.cxx:938 TGenCollectionProxy.cxx:939 TGenCollectionProxy.cxx:940 TGenCollectionProxy.cxx:941 TGenCollectionProxy.cxx:942 TGenCollectionProxy.cxx:943 TGenCollectionProxy.cxx:944 TGenCollectionProxy.cxx:945 TGenCollectionProxy.cxx:946 TGenCollectionProxy.cxx:947 TGenCollectionProxy.cxx:948 TGenCollectionProxy.cxx:949 TGenCollectionProxy.cxx:950 TGenCollectionProxy.cxx:951 TGenCollectionProxy.cxx:952 TGenCollectionProxy.cxx:953 TGenCollectionProxy.cxx:954 TGenCollectionProxy.cxx:955 TGenCollectionProxy.cxx:956 TGenCollectionProxy.cxx:957 TGenCollectionProxy.cxx:958 TGenCollectionProxy.cxx:959 TGenCollectionProxy.cxx:960 TGenCollectionProxy.cxx:961 TGenCollectionProxy.cxx:962 TGenCollectionProxy.cxx:963 TGenCollectionProxy.cxx:964 TGenCollectionProxy.cxx:965 TGenCollectionProxy.cxx:966 TGenCollectionProxy.cxx:967 TGenCollectionProxy.cxx:968 TGenCollectionProxy.cxx:969 TGenCollectionProxy.cxx:970 TGenCollectionProxy.cxx:971 TGenCollectionProxy.cxx:972 TGenCollectionProxy.cxx:973 TGenCollectionProxy.cxx:974 TGenCollectionProxy.cxx:975 TGenCollectionProxy.cxx:976 TGenCollectionProxy.cxx:977 TGenCollectionProxy.cxx:978 TGenCollectionProxy.cxx:979 TGenCollectionProxy.cxx:980 TGenCollectionProxy.cxx:981 TGenCollectionProxy.cxx:982 TGenCollectionProxy.cxx:983 TGenCollectionProxy.cxx:984 TGenCollectionProxy.cxx:985 TGenCollectionProxy.cxx:986 TGenCollectionProxy.cxx:987 TGenCollectionProxy.cxx:988 TGenCollectionProxy.cxx:989 TGenCollectionProxy.cxx:990 TGenCollectionProxy.cxx:991 TGenCollectionProxy.cxx:992 TGenCollectionProxy.cxx:993 TGenCollectionProxy.cxx:994 TGenCollectionProxy.cxx:995 TGenCollectionProxy.cxx:996 TGenCollectionProxy.cxx:997 TGenCollectionProxy.cxx:998 TGenCollectionProxy.cxx:999 TGenCollectionProxy.cxx:1000 TGenCollectionProxy.cxx:1001 TGenCollectionProxy.cxx:1002 TGenCollectionProxy.cxx:1003 TGenCollectionProxy.cxx:1004 TGenCollectionProxy.cxx:1005 TGenCollectionProxy.cxx:1006 TGenCollectionProxy.cxx:1007 TGenCollectionProxy.cxx:1008 TGenCollectionProxy.cxx:1009 TGenCollectionProxy.cxx:1010 TGenCollectionProxy.cxx:1011 TGenCollectionProxy.cxx:1012 TGenCollectionProxy.cxx:1013 TGenCollectionProxy.cxx:1014 TGenCollectionProxy.cxx:1015 TGenCollectionProxy.cxx:1016 TGenCollectionProxy.cxx:1017 TGenCollectionProxy.cxx:1018 TGenCollectionProxy.cxx:1019 TGenCollectionProxy.cxx:1020 TGenCollectionProxy.cxx:1021 TGenCollectionProxy.cxx:1022 TGenCollectionProxy.cxx:1023