/*
$Log$
+Revision 1.14 2001/08/30 09:44:06 hristov
+VertexSource_t added to avoid the warnings
+
+Revision 1.13 2001/08/29 13:31:42 morsch
+Protection against (fTreeK == 0) in destructor.
+
+Revision 1.12 2001/07/27 13:03:13 hristov
+Default Branch split level set to 99
+
Revision 1.11 2001/07/27 12:34:20 jchudoba
remove the dummy argument in GetEvent method
delete fParticles;
}
delete fParticleMap;
- delete fTreeK;
+ if (fTreeK) delete fTreeK;
}
//
if(parent>=0) {
particle = (TParticle*) fParticleMap->At(parent);
- particle->SetLastDaughter(fNtrack);
- if(particle->GetFirstDaughter()<0) particle->SetFirstDaughter(fNtrack);
+ if (particle) {
+ particle->SetLastDaughter(fNtrack);
+ if(particle->GetFirstDaughter()<0) particle->SetFirstDaughter(fNtrack);
+ }
+ else {
+ printf("Error in AliStack::SetTrack: Parent %d does not exist\n",parent);
+ }
}
else {
//
if(parent>=0) {
particle = (TParticle*) fParticleMap->At(parent);
- particle->SetLastDaughter(fNtrack);
- if(particle->GetFirstDaughter()<0) particle->SetFirstDaughter(fNtrack);
+ if (particle) {
+ particle->SetLastDaughter(fNtrack);
+ if(particle->GetFirstDaughter()<0) particle->SetFirstDaughter(fNtrack);
+ }
+ else {
+ printf("Error in AliStack::SetTrack: Parent %d does not exist\n",parent);
+ }
}
else {
//
fParticleBuffer = (TParticle*) part;
fParticleFileMap[i]= (Int_t) fTreeK->GetEntries();
fTreeK->Fill();
- (*fParticleMap)[i]=fParticleBuffer=0;
+ //PH (*fParticleMap)[i]=fParticleBuffer=0;
+ fParticleBuffer=0;
+ fParticleMap->AddAt(0,i);
// When all primaries were filled no particle!=0
// should be left => to be removed later.
//
// Return particle with specified ID
- if(!(*fParticleMap)[i]) {
+ //PH if(!(*fParticleMap)[i]) {
+ if(!fParticleMap->At(i)) {
Int_t nentries = fParticles->GetEntriesFast();
// algorithmic way of getting entry index
// (primary particles are filled after secondaries)
new ((*fParticles)[nentries]) TParticle(*fParticleBuffer);
fParticleMap->AddAt((*fParticles)[nentries],i);
}
- return (TParticle *) (*fParticleMap)[i];
+ //PH return (TParticle *) (*fParticleMap)[i];
+ return (TParticle *) fParticleMap->At(i);
}
//_____________________________________________________________________________
// Dumps particle i in the stack
//
- ((TParticle*) (*fParticleMap)[i])->Print();
+ //PH ((TParticle*) (*fParticleMap)[i])->Print();
+ ((TParticle*) fParticleMap->At(i))->Print();
}
//_____________________________________________________________________________