Line data Source code
1 : #include "AliAODTrdTracklet.h"
2 :
3 : AliAODTrdTracklet::AliAODTrdTracklet() :
4 13843 : AliVTrdTracklet(),
5 13843 : fHCId(-1),
6 13843 : fTrackletWord(0),
7 13843 : fLabel(-1)
8 69215 : {
9 : // default constructor
10 :
11 27686 : }
12 :
13 : AliAODTrdTracklet::AliAODTrdTracklet(const AliVTrdTracklet &rhs) :
14 146 : AliVTrdTracklet(rhs),
15 292 : fHCId(rhs.GetHCId()),
16 292 : fTrackletWord(rhs.GetTrackletWord()),
17 292 : fLabel(rhs.GetLabel())
18 730 : {
19 : // default constructor
20 :
21 292 : }
22 :
23 : AliAODTrdTracklet::AliAODTrdTracklet(UInt_t trackletWord, Short_t hcid, Int_t label) :
24 0 : AliVTrdTracklet(),
25 0 : fHCId(hcid),
26 0 : fTrackletWord(trackletWord),
27 0 : fLabel(label)
28 0 : {
29 : // constructor
30 :
31 0 : }
32 :
33 : AliAODTrdTracklet::AliAODTrdTracklet(const AliAODTrdTracklet& rhs) :
34 0 : AliVTrdTracklet(rhs),
35 0 : fHCId(rhs.fHCId),
36 0 : fTrackletWord(rhs.fTrackletWord),
37 0 : fLabel(rhs.fLabel)
38 0 : {
39 : // copy constructor
40 :
41 0 : }
42 :
43 : AliAODTrdTracklet& AliAODTrdTracklet::operator=(const AliAODTrdTracklet& rhs)
44 : {
45 : // assignment operator
46 :
47 0 : if (&rhs != this) {
48 0 : AliVTrdTracklet::operator=(rhs);
49 :
50 0 : fHCId = rhs.fHCId;
51 0 : fTrackletWord = rhs.fTrackletWord;
52 0 : fLabel = rhs.fLabel;
53 0 : }
54 :
55 0 : return *this;
56 : }
57 :
58 : void AliAODTrdTracklet::Copy(TObject &rhs) const
59 : {
60 : // copy
61 :
62 0 : AliVTrdTracklet::Copy(rhs);
63 0 : }
64 :
65 : Int_t AliAODTrdTracklet::GetBinY() const
66 : {
67 : // returns (signed) value of Y
68 :
69 0 : if (fTrackletWord & 0x1000) {
70 0 : return -((~(fTrackletWord-1)) & 0x1fff);
71 : }
72 : else {
73 0 : return (fTrackletWord & 0x1fff);
74 : }
75 0 : }
76 :
77 : Int_t AliAODTrdTracklet::GetBinDy() const
78 : {
79 : // returns (signed) value of the deflection length
80 :
81 0 : if (fTrackletWord & (1 << 19)) {
82 0 : return -((~((fTrackletWord >> 13) - 1)) & 0x7f);
83 : }
84 : else {
85 0 : return ((fTrackletWord >> 13) & 0x7f);
86 : }
87 0 : }
88 :
89 : // Float_t AliAODTrdTracklet::GetDyDx() const
90 : // {
91 : // // returns the deflection over 3 cm drift length
92 :
93 : // return GetBinDy() * fgkBinWidthDy/fgkDriftLength;
94 : // }
|