]>
Commit | Line | Data |
---|---|---|
f1d945a1 | 1 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
2 | * See cxx source for full Copyright notice */ | |
3 | /* $Id$ */ | |
4 | ||
e1911c19 | 5 | #ifndef ALIFLOWTRACKSIMPLE_H |
6 | #define ALIFLOWTRACKSIMPLE_H | |
f1d945a1 | 7 | |
bc231a12 | 8 | #include "TObject.h" |
f1d945a1 | 9 | #include "TBits.h" |
929098e4 | 10 | class TParticle; |
f1d945a1 | 11 | |
12 | // AliFlowTrackSimple: | |
13 | // A simple track class to the the AliFlowEventSimple for flow analysis | |
14 | // author: N. van der Kolk (kolk@nikhef.nl) | |
929098e4 | 15 | // mods: Mikolaj Krzewicki (mikolaj.krzewicki@cern.ch) |
f1d945a1 | 16 | |
bc231a12 | 17 | class AliFlowTrackSimple: public TObject { |
f1d945a1 | 18 | |
244c607a | 19 | public: |
f1d945a1 | 20 | AliFlowTrackSimple(); |
929098e4 | 21 | AliFlowTrackSimple(const TParticle* p); |
bc6b015e | 22 | AliFlowTrackSimple(const AliFlowTrackSimple& aTrack); |
244c607a | 23 | AliFlowTrackSimple(Double_t phi, Double_t eta, Double_t pt); |
bc231a12 | 24 | virtual AliFlowTrackSimple& operator=(const AliFlowTrackSimple& aTrack); |
f1d945a1 | 25 | virtual ~AliFlowTrackSimple(); |
bc231a12 | 26 | virtual AliFlowTrackSimple* Clone(const char* option="") const; |
f1d945a1 | 27 | |
c076fda8 | 28 | Bool_t IsFolder() const {return kTRUE;}; |
29 | // void Browse(TBrowser *b); | |
bc231a12 | 30 | virtual void Print(Option_t* option = "") const; |
c076fda8 | 31 | |
f1d945a1 | 32 | Double_t Eta() const; |
33 | Double_t Pt() const; | |
34 | Double_t Phi() const; | |
88e00a8a | 35 | TBits GetFlowBits() const; |
c280195b | 36 | Bool_t InRPSelection() const; |
37 | Bool_t InPOISelection() const; | |
244c607a | 38 | Bool_t InSubevent(Int_t i) const; |
b125a454 | 39 | |
f1d945a1 | 40 | void SetEta(Double_t eta); |
41 | void SetPt(Double_t pt); | |
42 | void SetPhi(Double_t phi); | |
7382279b | 43 | void SetForRPSelection(Bool_t b=kTRUE); |
44 | void SetForPOISelection(Bool_t b=kTRUE); | |
b125a454 | 45 | void SetForSubevent(Int_t i); |
7382279b | 46 | |
47 | void ResolutionPt(Double_t resolution); | |
48 | ||
bc231a12 | 49 | void AddV1( Double_t v1, |
50 | Double_t reactionPlaneAngle, | |
51 | Double_t precision, | |
52 | Int_t maxNumberOfIterations=100 ); | |
53 | void AddV2( Double_t v2, | |
54 | Double_t reactionPlaneAngle, | |
55 | Double_t precision, | |
56 | Int_t maxNumberOfIterations=100 ); | |
57 | void AddV4( Double_t v4, | |
58 | Double_t reactionPlaneAngle, | |
59 | Double_t precision, | |
60 | Int_t maxNumberOfIterations=100 ); | |
61 | void AddFlow( Double_t v1, | |
62 | Double_t v2, | |
63 | Double_t v4, | |
64 | Double_t reactionPlaneAngle, | |
65 | Double_t precision, | |
66 | Int_t maxNumberOfIterations=100 ); | |
b125a454 | 67 | |
f1d945a1 | 68 | private: |
69 | Double_t fEta; // eta | |
70 | Double_t fPt; // pt | |
71 | Double_t fPhi; // phi | |
72 | TBits fFlowBits; // bits to set if track is selected | |
b125a454 | 73 | TBits fSubEventBits; // bits to set if track is selected for a subevent |
f1d945a1 | 74 | |
1c1d4332 | 75 | ClassDef(AliFlowTrackSimple,1) // macro for rootcint |
f1d945a1 | 76 | |
77 | }; | |
78 | ||
79 | inline Double_t AliFlowTrackSimple::Eta() const { | |
88e00a8a | 80 | return this->fEta; } |
f1d945a1 | 81 | inline Double_t AliFlowTrackSimple::Pt() const { |
82 | // cout << "Returned pt:" << fPt << endl; | |
88e00a8a | 83 | return this->fPt;} |
f1d945a1 | 84 | inline Double_t AliFlowTrackSimple::Phi() const { |
88e00a8a | 85 | return this->fPhi; } |
b125a454 | 86 | //TBits |
88e00a8a | 87 | inline TBits AliFlowTrackSimple::GetFlowBits() const { |
88 | return this->fFlowBits; } | |
1918addd | 89 | inline Bool_t AliFlowTrackSimple::InRPSelection() const { |
90 | return this->fFlowBits.TestBitNumber(0); } | |
91 | inline Bool_t AliFlowTrackSimple::InPOISelection() const { | |
92 | return this->fFlowBits.TestBitNumber(1); } | |
b125a454 | 93 | inline Bool_t AliFlowTrackSimple::InSubevent(Int_t i) const { |
94 | return this->fSubEventBits.TestBitNumber(i); } | |
f1d945a1 | 95 | |
96 | inline void AliFlowTrackSimple::SetEta(Double_t val) { | |
97 | fEta = val; } | |
98 | inline void AliFlowTrackSimple::SetPt(Double_t val) { | |
99 | fPt = val; } | |
100 | // cout << "pt set to:" << fPt << endl;} | |
101 | inline void AliFlowTrackSimple::SetPhi(Double_t val) { | |
102 | fPhi = val; } | |
b125a454 | 103 | //TBits |
1918addd | 104 | inline void AliFlowTrackSimple::SetForRPSelection(Bool_t val) { |
f1d945a1 | 105 | fFlowBits.SetBitNumber(0,val); } |
1918addd | 106 | inline void AliFlowTrackSimple::SetForPOISelection(Bool_t val) { |
f1d945a1 | 107 | fFlowBits.SetBitNumber(1,val); } |
b125a454 | 108 | inline void AliFlowTrackSimple::SetForSubevent(Int_t i) { |
109 | fSubEventBits.SetBitNumber(i,kTRUE); } | |
110 | ||
f1d945a1 | 111 | #endif |
112 |