#ifndef ROOT_TClonesArray #define ROOT_TClonesArray //+SEQ,CopyRight,T=NOINCLUDE. ////////////////////////////////////////////////////////////////////////// // // // TClonesArray // // // // An array of clone TObjects. The array expands automatically when // // adding elements (shrinking can be done by hand). // // // ////////////////////////////////////////////////////////////////////////// #ifndef ROOT_TObjArray //*KEEP,TObjArray. #include "TObjArray.h" //*KEND. #endif class TClass; class TClonesArray : public TObjArray { private: TClass *fClass; //Pointer to the class TObjArray *fKeep; //Saved copies of pointers to objects public: TClonesArray(); TClonesArray(const Text_t *classname, Int_t size = 1000, Bool_t call_dtor = kFALSE); virtual ~TClonesArray(); void Compress(); void Clear(Option_t *option=""); void Delete(Option_t *option=""); void Expand(Int_t newSize); void ExpandCreate(Int_t n); TClass *GetClass() { return fClass; } void AddFirst(TObject *) { MayNotUse("AddFirst"); } void AddLast(TObject *) { MayNotUse("AddLast"); } void AddAt(TObject *, Int_t) { MayNotUse("AddAt"); } void AddAtAndExpand(TObject *, Int_t) { MayNotUse("AddAtAndExpand"); } Int_t AddAtFree(TObject *) { MayNotUse("AddAtFree"); return 0; } void AddAfter(TObject *, TObject *) { MayNotUse("AddAfter"); } void AddBefore(TObject *, TObject *) { MayNotUse("AddBefore"); } TObject *RemoveAt(Int_t idx); TObject *Remove(TObject *obj); void Sort(Int_t upto = kMaxInt); TObject *AddrAt(Int_t i); TObject *&operator[](Int_t i); ClassDef(TClonesArray,1) //An array of clone objects }; inline TObject *TClonesArray::AddrAt(Int_t i) { return operator[](i); } #endif