fTmpTreeTR(0),
fTmpFileTR(0),
fNprimaries(-1),
- fNparticles(-1)
+ fNparticles(-1)
{
// Copy constructor
}
// This is a cache for the TParticles converted to MCParticles on user request
if (fMCParticleMap) {
fMCParticleMap->Clear();
- if (fNparticles>0) fMCParticleMap->Expand(fNparticles);}
+ fMCParticles->Delete();
+ if (fNparticles>0) fMCParticleMap->Expand(fNparticles);
+ }
else
fMCParticleMap = new TRefArray(fNparticles);
-
}
void AliMCEvent::ConnectTreeTR (TTree* tree)
void AliMCEvent::Clean()
{
// Clean-up before new trees are connected
-
if (fHeader) {
delete fHeader;
fHeader = 0;
}
-
- delete fStack;
+
+ delete fStack; fStack = 0;
// Clear TR
if (fTRBuffer) {
- fTRBuffer->Clear();
+ fTRBuffer->Delete();
delete fTRBuffer;
fTRBuffer = 0;
}
void AliMCEvent::FinishEvent()
{
// Clean-up after event
- fStack->Reset(0);
- fMCParticles->Delete();
- fMCParticleMap->Delete();
- fTrackReferences->Clear();
+ //
+ fStack->Reset(0);
+ fMCParticles->Delete();
+ fMCParticleMap->Clear();
+ if (fTRBuffer)
+ fTRBuffer->Delete();
+ fTrackReferences->Delete();
}
} // hits
} // branches
fTmpTreeTR->Fill();
- fTRBuffer->Clear();
+ fTRBuffer->Delete();
ifills++;
} // daughters
} // has hits
} // entries
it++;
fTmpTreeTR->Fill();
- fTRBuffer->Clear();
+ fTRBuffer->Delete();
ifills++;
} // tracks
// Check
} // loop over track references for entry i
} // if TreeTR available
Int_t nentries = fMCParticles->GetEntriesFast();
- new ((*fMCParticles)[nentries]) AliMCParticle(particle, rarray);
+ new ((*fMCParticles)[nentries]) AliMCParticle(particle, rarray, i);
mcParticle = dynamic_cast<AliMCParticle*>((*fMCParticles)[nentries]);
fMCParticleMap->AddAt(mcParticle, i);
} else {