Port of changes from v4-07-Release and additional rule conformance
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemtoUser / AliFemtoQPairCut.h
1 /////////////////////////////////////////////////////////////////////////////
2 //                                                                         //
3 // AliFemtoQPairCut - a simple cut which selects pairs based on the values //
4 // of their respective q components                                        /
5 //                                                                         //
6 /////////////////////////////////////////////////////////////////////////////
7
8 /***************************************************************************
9  *
10  * $Id $
11  *
12  ***************************************************************************
13  *         
14  *
15  ***************************************************************************
16  *
17  * $Log$
18  * Revision 1.2.6.1  2007/11/01 17:10:38  akisiel
19  * Fix code rule conformace
20  *
21  * Revision 1.2  2007/05/22 09:01:42  akisiel
22  * Add the possibiloity to save cut settings in the ROOT file
23  *
24  * Revision 1.1  2007/05/16 10:25:06  akisiel
25  * Making the directory structure of AliFemtoUser flat. All files go into one common directory
26  *
27  * Revision 1.1.1.1  2007/04/25 15:38:41  panos
28  * Importing the HBT code dir
29  *
30  * Revision 1.1.1.1  2007/03/07 10:14:49  mchojnacki
31  * First version on CVS
32  *
33  *
34  **************************************************************************/
35
36
37 #ifndef ALIFEMTOQPAIRCUT_H
38 #define ALIFEMTOQPAIRCUT_H
39
40 // do I need these lines ?
41 //#ifndef StMaker_H
42 //#include "StMaker.h"
43 //#endif
44
45 #include "AliFemtoPairCut.h"
46
47 class AliFemtoQPairCut : public AliFemtoPairCut{
48 public:
49   AliFemtoQPairCut();
50   ~AliFemtoQPairCut();
51
52   virtual bool Pass(const AliFemtoPair* pair);
53   virtual AliFemtoString Report();
54   virtual TList *ListSettings();
55
56   void Setqlong(const float& lo, const float& hi);
57   void Setqout(const float& lo, const float& hi);
58   void Setqside(const float& lo, const float& hi);
59   void Setqinv(const float& lo, const float& hi);
60   AliFemtoQPairCut* Clone();
61
62
63 private:
64   long fNPairsPassed;  // Number of pairs that passed the cut
65   long fNPairsFailed;  // Number of pairs that failed the cut
66   float fQlong[2];     // Qlong range
67   float fQout[2];      // Qout range
68   float fQside[2];     // Qside range
69   float fQinv[2];      // Qinv range
70   
71
72 #ifdef __ROOT__
73   ClassDef(AliFemtoQPairCut, 1)
74 #endif
75 };
76
77
78 inline AliFemtoQPairCut* AliFemtoQPairCut::Clone() 
79
80     AliFemtoQPairCut* c = new AliFemtoQPairCut(*this); 
81     return c;
82 }
83 inline void AliFemtoQPairCut::Setqlong(const float& lo,const float& hi){fQlong[0]=lo; fQlong[1]=hi;}
84 inline void AliFemtoQPairCut::Setqout(const float& lo,const float& hi) {fQout[0]=lo;  fQout[1]=hi;}
85 inline void AliFemtoQPairCut::Setqside(const float& lo,const float& hi){fQside[0]=lo; fQside[1]=hi;}
86 inline void AliFemtoQPairCut::Setqinv(const float& lo,const float& hi) {fQinv[0]=lo;  fQinv[1]=hi;}
87
88 #endif