Splitted the PID cuts into three classes for ITS, TPC and TOF, and added the possibil...
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnCutValue.h
1 //
2 // *** Class AliRsnCutValue ***
3 //
4 // This cut implementation can be used to cut generically on 
5 // any value which can be computed from AliRsnValue class.
6 // Since that value is implemented always as a Double_t one,
7 // then this cut operates only with the Double_t data members
8 // of the AliRsnCut base class.
9 // It allows to cusomize the reference AliRsnValue object by
10 // means of a getter that returns a pointer to it.
11 // This cut can apply to any kind of object, but the type of
12 // target must be one of those for which the chosen value type
13 // makes sense to be computed
14 //
15 // author: Alberto Pulvirenti (alberto.pulvirenti@ct.infn.it)
16 //
17
18 #ifndef ALIRSNCUTVALUE_H
19 #define ALIRSNCUTVALUE_H
20
21 #include "AliRsnCut.h"
22 #include "AliRsnValue.h"
23
24 class AliRsnPairDef;
25
26 class AliRsnCutValue : public AliRsnCut
27 {
28   public:
29
30     AliRsnCutValue();
31     AliRsnCutValue(const char *name, AliRsnValue::EValueType type, Double_t min, Double_t max, AliRsnPairDef *pd = 0x0);
32     AliRsnCutValue(const AliRsnCutValue& copy);
33     AliRsnCutValue& operator=(const AliRsnCutValue& copy);
34     virtual ~AliRsnCutValue() { }
35
36     void           SetPairDef(AliRsnPairDef *pd) {fPairDef = pd;}
37     AliRsnPairDef* GetPairDef()  {return fPairDef;}
38     Double_t       GetValue()    {return fValue.GetComputedValue();}
39     AliRsnValue*   GetValueObj() {return &fValue;}
40     
41     virtual Bool_t IsSelected(TObject *object);
42     virtual void   Print(const Option_t *option = "") const;
43
44   protected:
45   
46     AliRsnValue    fValue;
47     AliRsnPairDef *fPairDef;
48
49     ClassDef(AliRsnCutValue, 1)
50 };
51
52 #endif