PandaRoot
PndSimpleTrack.h
Go to the documentation of this file.
1 /*
2  * PndSimpleTrack.h
3  *
4  * Created on: 05.03.2009
5  * Author: everybody
6  */
7 
8 #ifndef PNDSIMPLETRACK_H_
9 #define PNDSIMPLETRACK_H_
10 
11 #include "TObject.h"
12 #include "PndTrackCand.h"
13 #include "FairTrackPar.h"
14 #include "FairTimeStamp.h"
15 #include "TRef.h"
16 #include "Rtypes.h"
17 
18 #ifndef __CINT__
19 #include <boost/serialization/access.hpp>
20 #include <boost/serialization/base_object.hpp>
21 #endif //__CINT__
22 
23 class PndSimpleTrack : public FairTimeStamp {
24  public:
26  PndSimpleTrack(const FairTrackPar &par, const PndTrackCand &cand, const double &chi2);
27 
28  void Print();
29 
30  void SetTrackCand(const PndTrackCand &cand) { fTrackCand = cand; };
31 
32  PndTrackCand GetTrackCand() { return fTrackCand; }
33  PndTrackCand *GetTrackCandPtr() { return &fTrackCand; }
34  FairTrackPar GetParam() { return fTrackParam; }
35 
36  virtual bool equal(FairTimeStamp *data) const
37  {
38  if (!data)
39  return false; // dummy
40  return false;
41  }
42 
43  virtual bool operator<(const PndSimpleTrack &myTrack) const
44  {
45  PndTrackCand myCand = ((PndSimpleTrack)myTrack).GetTrackCand();
46  if (fTimeStamp < myCand.GetTimeStamp())
47  return true;
48  else if (fTimeStamp > myCand.GetTimeStamp())
49  return false;
50  return false;
51  }
52 
53  virtual bool operator>(const PndSimpleTrack &myTrack) const
54  {
55  PndTrackCand myCand = ((PndSimpleTrack)myTrack).GetTrackCand();
56  if (fTimeStamp > myCand.GetTimeStamp())
57  return true;
58  else if (fTimeStamp < myCand.GetTimeStamp())
59  return false;
60  return false;
61  }
62 
63  virtual bool operator==(const PndSimpleTrack &myTrack) const
64  {
65  if (myTrack.fChi2 != fChi2)
66  return false; // dummy
67  return false;
68  }
69 
70 #ifndef __CINT__ // for BOOST serialization
71  template <class Archive>
72  void serialize(Archive &ar, const unsigned int version)
73  {
74  ar &boost::serialization::base_object<FairTimeStamp>(*this);
75  ar &fTrackParam;
76  ar &fTrackCand;
77  ar &fChi2;
78  }
79 #endif // for BOOST serialization
80 
81  private:
82  FairTrackPar fTrackParam;
83  PndTrackCand fTrackCand;
84  Double_t fChi2;
85 
86  ClassDef(PndSimpleTrack, 2);
87 };
88 
89 #endif /* PNDTRACK_H_ */
virtual bool operator>(const PndSimpleTrack &myTrack) const
virtual bool operator<(const PndSimpleTrack &myTrack) const
FairTrackPar GetParam()
virtual bool operator==(const PndSimpleTrack &myTrack) const
PndTrackCand GetTrackCand()
virtual bool equal(FairTimeStamp *data) const
void SetTrackCand(const PndTrackCand &cand)
void serialize(Archive &ar, const unsigned int version)
PndTrackCand * GetTrackCandPtr()