12 #ifndef ROOT_TClonesArray
13 #define ROOT_TClonesArray
32 class TClonesArray :
public TObjArray {
40 kBypassStreamer = BIT(12),
45 TClonesArray(
const char *classname, Int_t size = 1000, Bool_t call_dtor = kFALSE);
46 TClonesArray(
const TClass *cl, Int_t size = 1000, Bool_t call_dtor = kFALSE);
47 TClonesArray(
const TClonesArray& tc);
48 virtual ~TClonesArray();
49 TClonesArray& operator=(
const TClonesArray& tc);
50 virtual void Compress();
51 virtual void Clear(Option_t *option=
"");
52 virtual void Delete(Option_t *option=
"");
53 virtual void Expand(Int_t newSize);
54 virtual void ExpandCreate(Int_t n);
55 virtual void ExpandCreateFast(Int_t n);
56 TClass *GetClass()
const {
return fClass; }
57 virtual void SetOwner(Bool_t enable = kTRUE);
59 void AddFirst(TObject *) { MayNotUse(
"AddFirst"); }
60 void AddLast(TObject *) { MayNotUse(
"AddLast"); }
61 void AddAt(TObject *, Int_t) { MayNotUse(
"AddAt"); }
62 void AddAtAndExpand(TObject *, Int_t) { MayNotUse(
"AddAtAndExpand"); }
63 Int_t AddAtFree(TObject *) { MayNotUse(
"AddAtFree");
return 0; }
64 void AddAfter(
const TObject *, TObject *) { MayNotUse(
"AddAfter"); }
65 void AddBefore(
const TObject *, TObject *) { MayNotUse(
"AddBefore"); }
66 void BypassStreamer(Bool_t bypass=kTRUE);
67 Bool_t CanBypassStreamer()
const {
return TestBit(kBypassStreamer); }
68 TObject *ConstructedAt(Int_t idx);
69 TObject *ConstructedAt(Int_t idx, Option_t *clear_options);
70 void SetClass(
const char *classname,Int_t size=1000);
71 void SetClass(
const TClass *cl,Int_t size=1000);
73 void AbsorbObjects(TClonesArray *tc);
74 void AbsorbObjects(TClonesArray *tc, Int_t idx1, Int_t idx2);
75 void MultiSort(Int_t nTCs, TClonesArray** tcs, Int_t upto = kMaxInt);
76 virtual TObject *RemoveAt(Int_t idx);
77 virtual TObject *Remove(TObject *obj);
78 virtual void RemoveRange(Int_t idx1, Int_t idx2);
79 virtual void Sort(Int_t upto = kMaxInt);
81 TObject *New(Int_t idx);
82 TObject *AddrAt(Int_t idx);
83 TObject *&operator[](Int_t idx);
84 TObject *operator[](Int_t idx)
const;
86 ClassDef(TClonesArray,4)
89 inline TObject *TClonesArray::AddrAt(Int_t idx)
91 return operator[](idx);