name change Int/Diff RP/POI
[u/mrichter/AliRoot.git] / PWG2 / FLOW / AliFlowCommon / AliFlowTrackSimple.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3 /* $Id$ */
4
5 #ifndef AliFlowTrackSimple_H
6 #define AliFlowTrackSimple_H
7
8 #include "TBits.h"
9
10 // AliFlowTrackSimple:
11 // A simple track class to the the AliFlowEventSimple for flow analysis
12 // author: N. van der Kolk (kolk@nikhef.nl)
13
14 class AliFlowTrackSimple: public TObject {
15
16  public:
17   AliFlowTrackSimple();
18   AliFlowTrackSimple(const AliFlowTrackSimple& aTrack);
19   AliFlowTrackSimple& operator=(const AliFlowTrackSimple& aTrack);
20   virtual  ~AliFlowTrackSimple();
21   
22   Bool_t  IsFolder() const {return kTRUE;};
23   //  void Browse(TBrowser *b); 
24   //  void Print(Option_t* option = "") const;      //method to print stats
25  
26
27   Double_t Eta() const; 
28   Double_t Pt()  const; 
29   Double_t Phi() const; 
30   TBits    GetFlowBits() const;
31   Bool_t   UseForIntegratedFlow() const;
32   Bool_t   UseForDifferentialFlow() const;
33   Bool_t   InRPSelection() const; //will replace UseForIntegratedFlow()
34   Bool_t   InPOISelection() const; //will replace UseForDifferentialFlow()
35   
36   void SetEta(Double_t eta);
37   void SetPt(Double_t pt); 
38   void SetPhi(Double_t phi);
39   void SetForIntegratedFlow(Bool_t b);
40   void SetForDifferentialFlow(Bool_t b);
41   void SetForRPSelection(Bool_t b); //will replace SetForIntegratedFlow
42   void SetForPOISelection(Bool_t b); //will replace SetForDifferentialFlow
43   
44  private:
45   Double_t fEta;    // eta
46   Double_t fPt;     // pt
47   Double_t fPhi;    // phi
48   TBits fFlowBits;  // bits to set if track is selected
49   
50
51   ClassDef(AliFlowTrackSimple,1)                 // macro for rootcint
52
53 };
54
55 inline Double_t AliFlowTrackSimple::Eta() const { 
56   return this->fEta; }
57 inline Double_t AliFlowTrackSimple::Pt() const {  
58   //  cout << "Returned pt:" << fPt << endl; 
59   return this->fPt;}
60 inline Double_t AliFlowTrackSimple::Phi() const { 
61   return this->fPhi; }
62 inline TBits AliFlowTrackSimple::GetFlowBits() const { 
63   return this->fFlowBits; }
64 inline Bool_t AliFlowTrackSimple::UseForIntegratedFlow() const { 
65   return this->fFlowBits.TestBitNumber(0); }
66 inline Bool_t AliFlowTrackSimple::UseForDifferentialFlow() const { 
67   return this->fFlowBits.TestBitNumber(1); }
68 inline Bool_t AliFlowTrackSimple::InRPSelection() const { 
69   return this->fFlowBits.TestBitNumber(0); }
70 inline Bool_t AliFlowTrackSimple::InPOISelection() const { 
71   return this->fFlowBits.TestBitNumber(1); }
72
73 inline void AliFlowTrackSimple::SetEta(Double_t val) {
74   fEta = val; }
75 inline void AliFlowTrackSimple::SetPt(Double_t val) {
76   fPt = val; }
77   //  cout << "pt set to:" << fPt << endl;}
78 inline void AliFlowTrackSimple::SetPhi(Double_t val) {
79   fPhi = val; }
80 inline void AliFlowTrackSimple::SetForIntegratedFlow(Bool_t val) { //replace
81   fFlowBits.SetBitNumber(0,val); }
82 inline void AliFlowTrackSimple::SetForDifferentialFlow(Bool_t val) { //replace
83   fFlowBits.SetBitNumber(1,val); }
84 inline void AliFlowTrackSimple::SetForRPSelection(Bool_t val) {
85   fFlowBits.SetBitNumber(0,val); }
86 inline void AliFlowTrackSimple::SetForPOISelection(Bool_t val) {
87   fFlowBits.SetBitNumber(1,val); }
88 #endif
89