6 #include "AliClonesPool.h"
9 class AliPoolsSet : public TObject
13 enum {kPoolN, // special pool for numeric arrays (AliPoolN class)
14 kPoolExtTrPar, // pool for AliExternalTrackParam objects (AliClonesPool)
15 kPoolTrPoints, // pool for AliTrackPointArray objects (AliClonesPool)
16 kPoolTrITS, // pool for ITS tracks (AliClonesPool)
17 kPoolTrTRD, // pool for TRD tracks (AliClonesPool)
18 kPoolTrFriend, // pool for AliESDfriendTrack (AliClonesPool)
19 kPoolTPCdEdx, // pool for AliTPCdEdx (AliClonesPool)
20 kPoolTPCSeed, // pool for TPC seeds
21 kPoolTPCKink, // pool for TPC kinks
22 kMaxPools}; // total number of pools
25 AliPoolsSet(const AliPoolsSet& src) : TObject(src),fPools(src.fPools) {}
26 virtual ~AliPoolsSet() {DeletePools();}
27 AliPoolsSet& operator=(const AliPoolsSet& src) { if (this!=&src) {this->TObject::operator=(src);fPools=src.fPools;} return *this;}
29 AliPoolN* GetPoolN() const {return dynamic_cast<AliPoolN*>(GetPool(kPoolN));}
30 AliClonesPool* GetPoolC(Int_t id) const {return dynamic_cast<AliClonesPool*>(GetPool(id));}
31 TObject* GetPool(Int_t id) const {return fPools[id];}
32 // detector-specific pools require setters
33 Bool_t SetPool(TObject* pool, Int_t id);
38 void Print(Option_t* opt="") const;
41 AliClonesPool* GetPoolExtTrPar() const {return GetPoolC(kPoolExtTrPar);}
42 AliClonesPool* GetPoolTrPoints() const {return GetPoolC(kPoolTrPoints);}
43 AliClonesPool* GetPoolTrFriend() const {return GetPoolC(kPoolTrFriend);}
44 AliClonesPool* GetPoolTPCdEdx() const {return GetPoolC(kPoolTPCdEdx);}
45 AliClonesPool* GetPoolTrITS() const {return GetPoolC(kPoolTrITS);}
46 AliClonesPool* GetPoolTrTRD() const {return GetPoolC(kPoolTrTRD);}
47 AliClonesPool* GetPoolTPCSeed() const {return GetPoolC(kPoolTPCSeed);}
51 TObjArray fPools; //! array of pools
53 ClassDef(AliPoolsSet,0) // set of pools