00001 #ifndef __StiTPCCATrackerInterface_h__
00002 #define __StiTPCCATrackerInterface_h__
00003 #ifdef DO_TPCCATRACKER
00004 #include "StiTpcSeedFinder.h"
00005 #include "TPCCATracker/code/AliHLTTPCCAGBTracker.h"
00006 #include "TPCCATracker/code/AliHLTTPCCAPerformance.h"
00007 #include "TPCCATracker/code/AliHLTTPCCAMCTrack.h"
00008
00009 #include "StiTrackContainer.h"
00010
00011 class StiTPCCATrackerInterface {
00012 public:
00013
00015 static StiTPCCATrackerInterface &Instance();
00016
00018 StiTPCCATrackerInterface();
00019 ~StiTPCCATrackerInterface();
00020
00021 void SetNewEvent();
00022
00023
00024 void SetHits(HitMapToVectorAndEndType &map_){ fHitsMap = &map_; };
00025 void SetStiTracks( StiTrackContainer *fStiTracks_){ fStiTracks = fStiTracks_; };
00026
00027 void Run();
00028 vector<Seed_t> &GetSeeds(){ return fSeeds; };
00029
00030 void RunPerformance();
00031
00032 vector<SeedHit_t> GetSeedHits() { return fSeedHits;}
00033
00034
00035 private:
00036 typedef AliHLTTPCCAPerformance::AliHLTTPCCAHitLabel AliHLTTPCCAHitLabel;
00037
00038
00039 void MakeSettings();
00040 void MakeHits();
00041 void MakeSeeds();
00042 void FillPerformance(const vector<AliHLTTPCCAGBHit>& hits, const vector<int>& idTruth, vector<AliHLTTPCCAMCTrack>& mcTracks, vector<AliHLTTPCCALocalMCPoint>& mcPoints, vector<AliHLTTPCCAHitLabel>& hitLabels);
00043
00044 void ConvertPars(const AliHLTTPCCATrackParam& caPar, double _alpha, StiNodePars& nodePars, StiNodeErrs& nodeErrs);
00045
00046
00047 HitMapToVectorAndEndType *fHitsMap;
00048 vector<Seed_t> fSeeds;
00049
00050 StiTpcSeedFinder *fSeedFinder;
00051 AliHLTTPCCAGBTracker *fTracker;
00052
00053 vector<int> fIdTruth;
00054 vector<AliHLTTPCCAMCTrack> fMCTracks;
00055 vector<AliHLTTPCCALocalMCPoint> fMCPoints;
00056 vector<AliHLTTPCCAHitLabel> fHitLabels;
00057 AliHLTTPCCAPerformance *fPerformance;
00058
00059
00060 vector<AliHLTTPCCAParam> fCaParam;
00061 vector<AliHLTTPCCAGBHit> fCaHits;
00062 vector<SeedHit_t> fSeedHits;
00063
00064 TFile *fOutFile;
00065
00066
00067 void FillStiPerformance();
00068
00069 AliHLTTPCCAGBTracker *fStiTracker;
00070
00071 StiTrackContainer *fStiTracks;
00072 vector<AliHLTTPCCAGBHit> fStiCaHits;
00073 vector<int> fStiIdTruth;
00074 vector<AliHLTTPCCAGBTrack> fStiCaTracks;
00075
00076 AliHLTResizableArray<AliHLTTPCCAHitLabel> fStiHitLabels;
00077 AliHLTResizableArray<AliHLTTPCCAMCTrack> fStiMCTracks;
00078 AliHLTResizableArray<AliHLTTPCCALocalMCPoint> fStiMCPoints;
00079
00080
00081 double fPreparationTime_real, fPreparationTime_cpu;
00082 };
00083 #endif
00084 #endif // __StiTPCCATrackerInterface_h__