FairRoot/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 
34  FairTrackPar GetParam() { return fTrackParam; }
35 
36  virtual bool equal(FairTimeStamp* data) const {
37  if(!data) return false; //dummy
38  return false;
39  }
40 
41  virtual bool operator<(const PndSimpleTrack& myTrack) const{
42  PndTrackCand myCand = ((PndSimpleTrack)myTrack).GetTrackCand();
43  if (fTimeStamp < myCand.GetTimeStamp() ) return true;
44  else if (fTimeStamp > myCand.GetTimeStamp() ) return false;
45  return false;
46  }
47 
48  virtual bool operator>(const PndSimpleTrack& myTrack) const{
49  PndTrackCand myCand = ((PndSimpleTrack)myTrack).GetTrackCand();
50  if (fTimeStamp > myCand.GetTimeStamp() ) return true;
51  else if (fTimeStamp < myCand.GetTimeStamp() ) return false;
52  return false;
53  }
54 
55  virtual bool operator==(const PndSimpleTrack& myTrack) const{
56  if(myTrack.fChi2!=fChi2) return false; //dummy
57  return false;
58  }
59 
60 #ifndef __CINT__ // for BOOST serialization
61  template<class Archive>
62  void serialize(Archive & ar, const unsigned int version)
63  {
64  ar & boost::serialization::base_object<FairTimeStamp>(*this);
65  ar & fTrackParam;
66  ar & fTrackCand;
67  ar & fChi2;
68  }
69 #endif // for BOOST serialization
70 
71 private:
72  FairTrackPar fTrackParam;
75 
77 
78 };
79 
80 #endif /* PNDTRACK_H_ */
FairTrackPar GetParam()
FairTrackPar fTrackParam
Double_t par[3]
PndTrackCand GetTrackCand()
Double_t
virtual bool equal(FairTimeStamp *data) const
virtual bool operator==(const PndSimpleTrack &myTrack) const
void SetTrackCand(const PndTrackCand &cand)
PndTrackCand fTrackCand
void serialize(Archive &ar, const unsigned int version)
virtual bool operator<(const PndSimpleTrack &myTrack) const
virtual bool operator>(const PndSimpleTrack &myTrack) const
PndTrackCand * GetTrackCandPtr()
ClassDef(PndSimpleTrack, 2)