00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef StFtpcTrackToStEvent_HH
00013 #define StFtpcTrackToStEvent_HH
00014 #include <map>
00015 using std::map;
00016 #include "StFtpcPoint.hh"
00017 #include "StFtpcTrack.hh"
00018 #include "TObjArray.h"
00019
00020 class StEvent;
00021 class StSPtrVecTrackNode;
00022 class StTrackNode;
00023 class StTrackDetectorInfo;
00024 class StTrack;
00025 class StFtpcTrack;
00026 class StFtpcPoint;
00027 class StHelix;
00028 class StHelixModel;
00029 #include "StPhysicalHelixD.hh"
00030
00038 class StFtpcTrackToStEvent
00039 {
00040
00041 public:
00042 StFtpcTrackToStEvent();
00043 virtual ~StFtpcTrackToStEvent();
00044 StEvent* FillEvent(StEvent*, TObjArray*);
00045 StEvent* FillEventPrimaries(StEvent*, TObjArray*);
00046 void FillDetectorInfo(StTrackDetectorInfo* detInfo, StFtpcTrack* kTrack, Bool_t global = kTRUE);
00047 void FillGeometry(StTrack* track, StFtpcTrack* kTrack, bool outer);
00048 void FillFitTraits(StTrack* track, StFtpcTrack* kTrack);
00049 void FillPidTraits(StTrack* track, StFtpcTrack* kTrack);
00050 void FilldEdxInfo(StTrack* track, StFtpcTrack* kTrack);
00051 void FillTrack(StTrack* track, StFtpcTrack* kTrack);
00052 void FillTopologyMap(StTrack* track, StFtpcTrack* kTrack);
00053 unsigned short EncodedStEventFitPoints(StFtpcTrack* kTrack);
00054 float ImpactParameter(StFtpcTrack* kTrack);
00055 int GetHighestTrackKey(StSPtrVecTrackNode& trNodeVec);
00056
00057 private:
00058 StEvent* mEvent;
00059 TObjArray* mTrackStore;
00060 map<StFtpcTrack*, StTrackNode*> mTrkNodeMap;
00061
00062 unsigned short mStiEncoded;
00063 };
00064
00065 #endif