70 Double_t px, Double_t py, Double_t pz,
71 Double_t e, Double_t vx, Double_t vy, Double_t vz,
72 Double_t time, Double_t polx, Double_t poly,
73 Double_t polz, TMCProcess proc, Int_t& ntr,
74 Double_t weight, Int_t is)
89 Double_t px, Double_t py, Double_t pz,
90 Double_t e, Double_t vx, Double_t vy, Double_t vz,
91 Double_t time, Double_t polx, Double_t poly,
92 Double_t polz, TMCProcess proc, Int_t& ntr,
93 Double_t weight, Int_t is, Int_t secondparentID)
103 Int_t daughter1Id = -1;
104 Int_t daughter2Id = -1;
105 TParticle* particle =
106 new(partArray[
fNParticles++]) TParticle(pdgCode, trackId, parentId,nPoints,
107 daughter1Id, daughter2Id, px, py, pz, e, vx, vy, vz, time);
111 particle->SetPolarisation(polx, poly, polz);
112 particle->SetWeight(weight);
113 particle->SetUniqueID(proc);
116 particle->SetFirstMother(secondparentID);
117 particle->SetLastMother(secondparentID);
120 particle->SetFirstMother(parentId);
121 particle->SetLastMother(parentId);
274 LOG(DEBUG) <<
"ShipStack: Updating track indizes...";
280 Int_t iMotherOld = track->GetMotherId();
283 LOGF(fatal,
"ShipStack: Particle index %i not found in dex map! ", iMotherOld);
285 track->SetMotherId( (*fIndexIter).second );
291 fDetIter = detList->MakeIterator();
297 FairDetector* det = NULL;
298 while( (det = (FairDetector*)fDetIter->Next() ) ) {
303 TClonesArray* hitArray;
304 while ( (hitArray = det->GetCollection(iColl++)) ) {
306 Int_t nPoints = hitArray->GetEntriesFast();
309 for (Int_t iPoint=0; iPoint<nPoints; iPoint++) {
310 FairMCPoint* point = (FairMCPoint*)hitArray->At(iPoint);
311 Int_t iTrack = point->GetTrackID();
315 LOGF(fatal,
"ShipStack: Particle index %i not found in index map! ", iTrack);
317 point->SetTrackID((*fIndexIter).second);
318 point->SetLink(FairLink(
"MCTrack", (*fIndexIter).second));
323 LOGF(debug,
"...stack and %i collections updated.", nColl);
virtual void PushTrack(Int_t toBeDone, Int_t parentID, Int_t pdgCode, Double_t px, Double_t py, Double_t pz, Double_t e, Double_t vx, Double_t vy, Double_t vz, Double_t time, Double_t polx, Double_t poly, Double_t polz, TMCProcess proc, Int_t &ntr, Double_t weight, Int_t is)