Coverity 16571
[u/mrichter/AliRoot.git] / STEER / AliEventplane.h
1 #ifndef ALIEventplane_H
2 #define ALIEventplane_H
3
4 /* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 //*****************************************************
8 //   Class AliEventplane
9 //   author: Alberica Toia, Johanna Gramling
10 //*****************************************************
11
12 #include "TNamed.h"
13
14 class TVector2;
15 class AliVTrack;
16 class TObjArray;
17 class TArrayF;
18
19 class AliEventplane : public TNamed
20 {
21  public:
22
23   AliEventplane();  /// constructor
24   ~AliEventplane();  /// destructor
25   AliEventplane(const AliEventplane& ep); /// copy constructor
26   AliEventplane& operator=(const AliEventplane& ep);   /// assignment operator
27   virtual void CopyEP(AliEventplane& ep) const;
28
29   /// set event plane result
30   void SetQVector(TVector2* qvector) {fQVector = qvector;}
31   void SetEventplaneQ(Double_t evp) {fEventplaneQ = evp;} 
32   void SetQsub(TVector2* qs1, TVector2* qs2) {fQsub1 = qs1;fQsub2 = qs2;}
33   void SetQsubRes (Double_t qsr) {fQsubRes = qsr;}
34
35   /// get event plane result
36   TVector2* GetQVector(); 
37   Double_t  GetQContributionX(AliVTrack* track);
38   Double_t  GetQContributionY(AliVTrack* track);
39   TArrayF*  GetQContributionXArray() { return fQContributionX; }
40   TArrayF*  GetQContributionYArray() { return fQContributionY; }
41   Double_t  GetEventplane(const char *method);
42   TVector2* GetQsub1();
43   TVector2* GetQsub2();
44   Double_t  GetQsubRes();
45   Bool_t    IsEventInEventplaneClass(Double_t a, Double_t b, const char *method);
46
47   void Reset();
48
49  private:
50    TVector2* fQVector;          // Q-Vector of event
51    TArrayF* fQContributionX;    // array of the tracks' contributions to X component of Q-Vector - index = track ID
52    TArrayF* fQContributionY;    // array of the tracks' contributions to Y component of Q-Vector - index = track ID
53    Double_t fEventplaneQ;       // Event plane angle from Q-Vector
54    TVector2* fQsub1;            // Q-Vector of subevent 1
55    TVector2* fQsub2;            // Q-Vector of subevent 2
56    Double_t fQsubRes;           // Difference of EP angles of subevents
57  
58   ClassDef(AliEventplane, 1)
59 };
60 #endif //ALIEVENTPLANE_H