CbmRoot
CbmL1TrdTracklet4.h
Go to the documentation of this file.
1 #ifndef CBML1TRDTRACKLET4_H
2 #define CBML1TRDTRACKLET4_H 1
3 
4 #include "TObject.h"
5 #include <vector>
6 
7 class CbmL1TrdTracklet4 : public TObject {
8 
9 public:
12 
13  //CbmL1TrdTracklet(Int_t indLeft, Int_t indRight) {fIndLeft=indLeft; fIndRight=indRight;};
14 
16  virtual ~CbmL1TrdTracklet4();
17 
18  //get a given hit hit index
19  inline Int_t GetInd(Int_t i) { return fInd[i]; };
20 
21  //gets the appropriate coordinate values
22  inline Double_t GetCoord(Int_t ind) { return fCoord[ind]; };
23 
24  //value of the tracklet used in tagging
25  inline Int_t GetVal() { return fVal; };
26 
27  //says if this tracklet has any left-side neighbours
28  inline Int_t GetIsAlone() { return fIsAlone; };
29 
30  inline Int_t GetIndex() { return fIndex; };
31 
32 
33  //sets the index of a given hit
34  inline void SetInd(Int_t ind, Int_t val) { fInd[ind] = val; };
35 
36  //sets the appropriate coordinate values
37  inline void SetCoord(Int_t ind, Double_t val) { fCoord[ind] = val; };
38 
39  //set value of the tracklet used in tagging
40  inline void SetVal(Int_t segVal) { fVal = segVal; };
41 
42  //sets flag if this tracklet has any left-side neighbours
43  inline void SetIsAlone(Bool_t isAlone) { fIsAlone = isAlone; };
44 
45  inline void SetIndex(Int_t index) { fIndex = index; };
46 
48  inline Double_t GetExt(Int_t ind) { return fExt[ind]; };
49 
51  //ind == 0 1st layer
52  //ind == 1 2nd layer
53  inline void SetExt(Int_t ind, Double_t val) { fExt[ind] = val; };
54 
55  std::vector<Int_t> vAccostTracklet; //position of next tracklets in vector
56  std::vector<Int_t> vAccostLeft; //position of next tracklets in vector
57  std::vector<Int_t> vAccostRight; //position of next tracklets in vector
58 
59  //compares two first (or two second) coordinates of two tracklets
60  inline static Bool_t compare1(CbmL1TrdTracklet4* tr1,
61  CbmL1TrdTracklet4* tr2) {
62  return (tr1->GetCoord(0) < tr2->GetCoord(0));
63  };
64 
65  inline static Bool_t compare2(CbmL1TrdTracklet4* tr1,
66  CbmL1TrdTracklet4* tr2) {
67  return (tr1->GetCoord(1) < tr2->GetCoord(1));
68  };
69 
70  inline static Bool_t Compare3S(CbmL1TrdTracklet4* tr1,
71  CbmL1TrdTracklet4* tr2) {
72  return (tr1->GetVal() > tr2->GetVal());
73  };
74 
75  //to store 4 Z value
76  Double_t M[4];
77 
78 private:
79  //indexes of the four consistuent hits
80  Int_t fInd[4];
81 
82  //tracklet tag value
83  Int_t fVal;
84 
85 
86  Int_t fY;
87 
88  //says if a tracklet has any left-sede neighbours
89  Bool_t fIsAlone;
90  Int_t fIndex;
91 
92  Double_t fExt1; //coordinates extrapolated to the next station (X or Y)
93  Double_t fExt2;
94  Double_t fExt[2];
95 
96  Double_t fCoord[4];
97 
99 };
100 
101 #endif
CbmL1TrdTracklet4::fExt2
Double_t fExt2
Definition: CbmL1TrdTracklet4.h:93
CbmL1TrdTracklet4::SetIsAlone
void SetIsAlone(Bool_t isAlone)
Definition: CbmL1TrdTracklet4.h:43
CbmL1TrdTracklet4::SetIndex
void SetIndex(Int_t index)
Definition: CbmL1TrdTracklet4.h:45
CbmL1TrdTracklet4::CbmL1TrdTracklet4
CbmL1TrdTracklet4()
Definition: CbmL1TrdTracklet4.cxx:6
CbmL1TrdTracklet4::~CbmL1TrdTracklet4
virtual ~CbmL1TrdTracklet4()
Definition: CbmL1TrdTracklet4.cxx:18
CbmL1TrdTracklet4::fIsAlone
Bool_t fIsAlone
Definition: CbmL1TrdTracklet4.h:89
CbmL1TrdTracklet4::vAccostLeft
std::vector< Int_t > vAccostLeft
Definition: CbmL1TrdTracklet4.h:56
CbmL1TrdTracklet4::fExt1
Double_t fExt1
Definition: CbmL1TrdTracklet4.h:92
CbmL1TrdTracklet4::compare2
static Bool_t compare2(CbmL1TrdTracklet4 *tr1, CbmL1TrdTracklet4 *tr2)
Definition: CbmL1TrdTracklet4.h:65
i
int i
Definition: L1/vectors/P4_F32vec4.h:25
CbmL1TrdTracklet4::vAccostRight
std::vector< Int_t > vAccostRight
Definition: CbmL1TrdTracklet4.h:57
CbmL1TrdTracklet4::GetIndex
Int_t GetIndex()
Definition: CbmL1TrdTracklet4.h:30
CbmL1TrdTracklet4
Definition: CbmL1TrdTracklet4.h:7
CbmL1TrdTracklet4::fExt
Double_t fExt[2]
Definition: CbmL1TrdTracklet4.h:94
CbmL1TrdTracklet4::GetExt
Double_t GetExt(Int_t ind)
Definition: CbmL1TrdTracklet4.h:48
CbmL1TrdTracklet4::SetExt
void SetExt(Int_t ind, Double_t val)
Definition: CbmL1TrdTracklet4.h:53
CbmL1TrdTracklet4::fIndex
Int_t fIndex
Definition: CbmL1TrdTracklet4.h:90
CbmL1TrdTracklet4::Compare3S
static Bool_t Compare3S(CbmL1TrdTracklet4 *tr1, CbmL1TrdTracklet4 *tr2)
Definition: CbmL1TrdTracklet4.h:70
CbmL1TrdTracklet4::fY
Int_t fY
Definition: CbmL1TrdTracklet4.h:86
CbmL1TrdTracklet4::GetVal
Int_t GetVal()
Definition: CbmL1TrdTracklet4.h:25
CbmL1TrdTracklet4::SetVal
void SetVal(Int_t segVal)
Definition: CbmL1TrdTracklet4.h:40
CbmL1TrdTracklet4::compare1
static Bool_t compare1(CbmL1TrdTracklet4 *tr1, CbmL1TrdTracklet4 *tr2)
Definition: CbmL1TrdTracklet4.h:60
CbmL1TrdTracklet4::fInd
Int_t fInd[4]
Definition: CbmL1TrdTracklet4.h:80
CbmL1TrdTracklet4::ClassDef
ClassDef(CbmL1TrdTracklet4, 1)
CbmL1TrdTracklet4::fVal
Int_t fVal
Definition: CbmL1TrdTracklet4.h:83
CbmL1TrdTracklet4::fCoord
Double_t fCoord[4]
Definition: CbmL1TrdTracklet4.h:96
CbmL1TrdTracklet4::GetCoord
Double_t GetCoord(Int_t ind)
Definition: CbmL1TrdTracklet4.h:22
CbmL1TrdTracklet4::GetInd
Int_t GetInd(Int_t i)
Definition: CbmL1TrdTracklet4.h:19
CbmL1TrdTracklet4::M
Double_t M[4]
Definition: CbmL1TrdTracklet4.h:73
CbmL1TrdTracklet4::GetIsAlone
Int_t GetIsAlone()
Definition: CbmL1TrdTracklet4.h:28
CbmL1TrdTracklet4::SetCoord
void SetCoord(Int_t ind, Double_t val)
Definition: CbmL1TrdTracklet4.h:37
CbmL1TrdTracklet4::vAccostTracklet
std::vector< Int_t > vAccostTracklet
Definition: CbmL1TrdTracklet4.h:53
CbmL1TrdTracklet4::SetInd
void SetInd(Int_t ind, Int_t val)
Definition: CbmL1TrdTracklet4.h:34