FairRoot/PandaRoot
PndTrack.h
Go to the documentation of this file.
1 /*
2  * PndTrack.h
3  *
4  * Created on: 05.03.2009
5  * Author: everybody
6  */
7 
8 #ifndef PNDTRACK_H_
9 #define PNDTRACK_H_
10 
11 #include "TObject.h"
12 #include "PndTrackCand.h"
13 #include "FairTrackParP.h"
14 #include "PndDetectorList.h"
15 #include "FairTimeStamp.h"
16 #include "TRef.h"
17 
18 #ifndef __CINT__
19 #include <boost/serialization/access.hpp>
20 #include <boost/serialization/base_object.hpp>
21 #endif //__CINT__
22 
23 class PndTrack : public FairTimeStamp{
24 public:
25  PndTrack();
26  PndTrack(const FairTrackParP& first, const FairTrackParP& last, const PndTrackCand& cand,
27  Int_t flag = 0, Double_t chi2 = -1., Int_t ndf = 0, Int_t pid = 0, Int_t id = -1, Int_t type = -1);
28 
29  void Print();
30 
31 
32  Int_t GetPidHypo() const { return fPidHypo; }
33  Int_t GetFlag() const { return fFlag; } //Quality flag
34  Double_t GetChi2() const { return fChi2; }
35  Int_t GetNDF() const { return fNDF; }
36  Int_t GetRefIndex() const { return fRefIndex; }
37  void SetPidHypo(Int_t i) { fPidHypo=i; }
38  void SetFlag(Int_t i) { fFlag=i; }
39  void SetChi2(Double_t d) { fChi2=d; }
40  void SetNDF(Int_t i) { fNDF=i; }
41  void SetRefIndex(TString branch, Int_t i) { fRefIndex=i; SetLink(FairLink(branch, i)); }
42  void SetRefIndex(Int_t i){fRefIndex = i;}
43  void SetTrackCand(const PndTrackCand& cand) { fTrackCand = cand; };
44  void SetTrackCandRef(PndTrackCand* candPointer){ fRefToPndTrackCand = candPointer; }
46 
49  FairTrackParP GetParamFirst() { return fTrackParamFirst; }
50  FairTrackParP GetParamLast() { return fTrackParamLast ; }
51 
52  virtual bool equal(FairTimeStamp* data) const {
53  if(data) return false; // dummy
54  return false;
55  }
56 
57  virtual bool operator<(const PndTrack& myTrack) const{
58  PndTrackCand myCand = ((PndTrack)myTrack).GetTrackCand();
59  if (fTimeStamp < myCand.GetTimeStamp() ) return true;
60  else if (fTimeStamp > myCand.GetTimeStamp() ) return false;
61  return false;
62  }
63 
64  virtual bool operator>(const PndTrack& myTrack) const{
65  PndTrackCand myCand = ((PndTrack)myTrack).GetTrackCand();
66  if (fTimeStamp > myCand.GetTimeStamp() ) return true;
67  else if (fTimeStamp < myCand.GetTimeStamp() ) return false;
68  return false;
69  }
70 
71  virtual bool operator==(const PndTrack& myTrack) const{
72  if(fFlag==myTrack.fFlag) return false; // dummy
73  return false;
74  }
75 
76 #ifndef __CINT__ // for BOOST serialization
77  template<class Archive>
78  void serialize(Archive & ar, const unsigned int version)
79  {
80  ar & boost::serialization::base_object<FairTimeStamp>(*this);
81  // ar & fTrackParamFirst;
82  // ar & fTrackParamLast;
83  ar & fTrackCand;
84  ar & fPidHypo;
85  ar & fFlag;
86  ar & fChi2;
87  ar & fNDF;
88  ar & fRefIndex;
89  }
90 #endif // for BOOST serialization
91 
92 private:
93  FairTrackParP fTrackParamFirst;
94  FairTrackParP fTrackParamLast;
95 
98 
99  Int_t fPidHypo;
100  Int_t fFlag;
102  Int_t fNDF;
103  Int_t fRefIndex;
104 
105 public:
106  ClassDef(PndTrack,2)
107 
108 };
109 
110 #endif /* PNDTRACK_H_ */
void SetRefIndex(TString branch, Int_t i)
Definition: PndTrack.h:41
TObjArray * d
Int_t fFlag
recotasks: -10 if Pz &lt; 1e-9, -2 if conversion error, -22 if PdgCode == 0
Definition: PndTrack.h:100
Int_t i
Definition: run_full.C:25
PndTrackCand fTrackCand
Definition: PndTrack.h:96
Double_t fChi2
Definition: PndTrack.h:101
FairTrackParP fTrackParamLast
Definition: PndTrack.h:94
Int_t fPidHypo
Definition: PndTrack.h:99
Int_t GetFlag() const
Definition: PndTrack.h:33
void SetChi2(Double_t d)
Definition: PndTrack.h:39
int pid()
PndTrackCand * GetPndTrackCandViaRef()
Definition: PndTrack.h:45
void SetTrackCandRef(PndTrackCand *candPointer)
Definition: PndTrack.h:44
virtual bool equal(FairTimeStamp *data) const
Definition: PndTrack.h:52
TRef fRefToPndTrackCand
Definition: PndTrack.h:97
Int_t fNDF
Definition: PndTrack.h:102
virtual bool operator==(const PndTrack &myTrack) const
Definition: PndTrack.h:71
void SetPidHypo(Int_t i)
Definition: PndTrack.h:37
virtual bool operator>(const PndTrack &myTrack) const
Definition: PndTrack.h:64
PndTrackCand GetTrackCand()
Definition: PndTrack.h:47
Double_t
Int_t GetNDF() const
Definition: PndTrack.h:35
FairTrackParP GetParamLast()
Definition: PndTrack.h:50
void SetRefIndex(Int_t i)
Definition: PndTrack.h:42
PndTrack()
Definition: PndTrack.cxx:12
Double_t GetChi2() const
Definition: PndTrack.h:34
void SetFlag(Int_t i)
Definition: PndTrack.h:38
void serialize(Archive &ar, const unsigned int version)
Definition: PndTrack.h:78
void SetNDF(Int_t i)
Definition: PndTrack.h:40
Int_t GetPidHypo() const
Definition: PndTrack.h:32
Int_t fRefIndex
Definition: PndTrack.h:103
void Print()
Definition: PndTrack.cxx:39
Int_t GetRefIndex() const
Definition: PndTrack.h:36
PndTrackCand * GetTrackCandPtr()
Definition: PndTrack.h:48
void SetTrackCand(const PndTrackCand &cand)
Definition: PndTrack.h:43
FairTrackParP GetParamFirst()
Definition: PndTrack.h:49
virtual bool operator<(const PndTrack &myTrack) const
Definition: PndTrack.h:57
FairTrackParP fTrackParamFirst
Definition: PndTrack.h:93