#include <TVirtualMCApplication.h>
class TParticle;
+class TFile;
+class TTree;
+
class AliGenerator;
class AliMCQA;
+class AliTrackReference;
class AliMC : public TVirtualMCApplication {
public:
virtual void KeepTrack(Int_t itra) const;
virtual void FlagTrack(Int_t track) const;
virtual void SetCurrentTrack(Int_t track) const;
-// Track reference related
- virtual void AddTrackReference(Int_t label);
- TClonesArray *TrackReferences() const {return fTrackReferences;}
- virtual void RemapTrackReferencesIDs(Int_t *map); //remaping track references MI
- virtual void ResetTrackReferences();
- virtual void FixParticleDecaytime();
-
-private:
+// Track reference related
+ AliTrackReference* AddTrackReference(Int_t label, Int_t id = -999);
+ TClonesArray* TrackReferences() const {return fTrackReferences;}
+ virtual void RemapTrackReferencesIDs(Int_t *map); //remaping track references MI
+ virtual void ResetTrackReferences();
+ virtual void FixParticleDecaytime();
+ private:
+ void MakeTmpTrackRefsTree();
+ void ReorderAndExpandTreeTR();
+ private:
void Copy (TObject &mc) const;
void RemapHits();
AliGenerator *fGenerator; // Generator used in the MC
TArrayI *fImedia; //! Array of correspondence between media and detectors
TString fTransParName; // Name of the transport parameters file
AliMCQA *fMCQA; // Pointer to MC Quality assurance class
- //PH
TList *fHitLists; //! Lists of hits to be remapped by PurifyKine
- TClonesArray *fTrackReferences; //!list of track references - for one primary track only -MI
-
- ClassDef(AliMC,2)
+ //Temporary Track Reference tree related
+ TTree *fTmpTreeTR; //! Temporary track reference tree
+ TFile *fTmpFileTR; //! Temporary track reference file
+ TClonesArray *fTrackReferences; //! List of track references - for one primary track only
+ TClonesArray *fTmpTrackReferences; //! Temporary list of track references - for one primary track only
+ ClassDef(AliMC, 3)
};