/* * PndSimpleTrack.h * * Created on: 05.03.2009 * Author: everybody */ #ifndef PNDSIMPLETRACK_H_ #define PNDSIMPLETRACK_H_ #include "TObject.h" #include "PndTrackCand.h" #include "FairTrackPar.h" #include "FairTimeStamp.h" #include "TRef.h" #include "Rtypes.h" #ifndef __CINT__ #include #include #endif //__CINT__ class PndSimpleTrack : public FairTimeStamp{ public: PndSimpleTrack(); PndSimpleTrack(const FairTrackPar& par, const PndTrackCand& cand, const double& chi2); void Print(); void SetTrackCand(const PndTrackCand& cand) { fTrackCand = cand; }; PndTrackCand GetTrackCand() { return fTrackCand; } PndTrackCand* GetTrackCandPtr() { return &fTrackCand; } FairTrackPar GetParam() { return fTrackParam; } virtual bool equal(FairTimeStamp* data) const { if(!data) return false; //dummy return false; } virtual bool operator<(const PndSimpleTrack& myTrack) const{ PndTrackCand myCand = ((PndSimpleTrack)myTrack).GetTrackCand(); if (fTimeStamp < myCand.GetTimeStamp() ) return true; else if (fTimeStamp > myCand.GetTimeStamp() ) return false; return false; } virtual bool operator>(const PndSimpleTrack& myTrack) const{ PndTrackCand myCand = ((PndSimpleTrack)myTrack).GetTrackCand(); if (fTimeStamp > myCand.GetTimeStamp() ) return true; else if (fTimeStamp < myCand.GetTimeStamp() ) return false; return false; } virtual bool operator==(const PndSimpleTrack& myTrack) const{ if(myTrack.fChi2!=fChi2) return false; //dummy return false; } #ifndef __CINT__ // for BOOST serialization template void serialize(Archive & ar, const unsigned int version) { ar & boost::serialization::base_object(*this); ar & fTrackParam; ar & fTrackCand; ar & fChi2; } #endif // for BOOST serialization private: FairTrackPar fTrackParam; PndTrackCand fTrackCand; Double_t fChi2; ClassDef(PndSimpleTrack,2); }; #endif /* PNDTRACK_H_ */