1 #include "AliPoolsSet.h"
6 //__________________________________________
7 AliPoolsSet::AliPoolsSet() : fPools(kMaxPools)
13 //___________________________________________________________
14 void AliPoolsSet::InitPools()
16 // Create obligatory pools (which always needed).
17 // The pools for specific detector objects are initialized by respective trackers of AliReconstruction
18 AliInfo("Initializing pools>>");
19 if (!GetPoolN()) SetPool(new AliPoolN(100000), kPoolN);
20 if (!GetPool(kPoolExtTrPar)) {
21 SetPool(new AliClonesPool("AliExternalTrackParam",5000), kPoolExtTrPar);
22 GetPoolC(kPoolExtTrPar)->SetName("ExternalTrackParam");
24 if (!GetPool(kPoolTrFriend)) {
25 SetPool(new AliClonesPool("AliESDfriendTrack",5000),kPoolTrFriend);
26 GetPoolC(kPoolTrFriend)->SetName("ESDfriendTrack");
28 if (!GetPool(kPoolTPCdEdx)) {
29 SetPool(new AliClonesPool("AliTPCdEdxInfo",5000), kPoolTPCdEdx);
30 GetPoolC(kPoolTPCdEdx)->SetName("TPCdEdxInfo");
33 AliInfo("Initializing pools<<");
36 //___________________________________________________________
37 void AliPoolsSet::DeletePools()
39 // delete all global pools
43 //___________________________________________________________
44 void AliPoolsSet::ResetPools()
47 for (int i=kMaxPools;i--;) {
48 TObject* pool = GetPool(i);
54 //___________________________________________________________
55 Bool_t AliPoolsSet::SetPool(TObject* pool, Int_t id)
58 if (!pool) return kFALSE;
59 if (id<0 || id>=kMaxPools) AliFatal(Form("Defined pool id's are 0:%d, %d requested",kMaxPools,id));
60 if (!pool->InheritsFrom("AliPoolN") && !pool->InheritsFrom("AliClonesPool"))
61 AliFatal(Form("Supported pool types: %s,%s | supplied %s","AliPoolN","AliClonesPool",pool->ClassName()));
67 //___________________________________________________________
68 void AliPoolsSet::Print(Option_t* opt) const
71 for (int i=0;i<kMaxPools;i++) {
72 TObject* pl = GetPool(i);
74 if ( pl->IsA() == AliClonesPool::Class() ) ((AliClonesPool*)pl)->PrintSummary(opt);
75 else if ( pl->IsA() == AliPoolN::Class() ) ((AliPoolN*)pl)->PrintSummary(opt);