Adding AliRsnDaughterCut in the RESONANCES directory
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnDaughterCut.h
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  * See cxx source for full Copyright notice                               *
4  **************************************************************************/
5
6 //-------------------------------------------------------------------------
7 //                      Class AliRsnDaughterCut
8 //  
9 //           Implementation of various cut which can be applied
10 //           during resonance analysis. 
11 //           First is the virtual base class.
12 // 
13 // author: A. Pulvirenti             (email: alberto.pulvirenti@ct.infn.it)
14 //-------------------------------------------------------------------------
15
16 #ifndef ALIRSNDAUGHTERCUT_H
17 #define ALIRSNDAUGHTERCUT_H
18
19 class AliRsnDaughter;
20
21 class AliRsnDaughterCut : public TObject
22 {
23 public:
24                                AliRsnDaughterCut() {  }
25         virtual       ~AliRsnDaughterCut() {  }
26         
27                 Bool_t IsPairCut() {return fPairCut;}
28         virtual Bool_t Pass(AliRsnDaughter *track1, AliRsnDaughter *track2 = 0);
29         
30 protected:
31
32         Bool_t  fPairCut;
33         
34         ClassDef(AliRsnDaughterCut,1)
35 };
36
37 //-------------------------------------------------------------------------
38
39 class AliRsnDaughterCutPtSingle : public AliRsnDaughterCut
40 {
41 public:
42                                AliRsnDaughterCutPtSingle(Double_t min, Double_t max) {fPairCut=kFALSE;fPtMin=min;fPtMax=max;}
43         virtual       ~AliRsnDaughterCutPtSingle()                           { }
44         
45         virtual Bool_t Pass(AliRsnDaughter *track1, AliRsnDaughter *track2 = 0);
46
47 protected:
48
49         Double_t fPtMin; // smallest allowed Pt
50         Double_t fPtMax; // largest allowed Pt
51         
52         ClassDef(AliRsnDaughterCutPtSingle,1)
53 };
54         
55 //-------------------------------------------------------------------------
56
57 class AliRsnDaughterCutPtPair : public AliRsnDaughterCut
58 {
59 public:
60                                AliRsnDaughterCutPtPair(Double_t min, Double_t max) {fPairCut=kTRUE;fPtMin=min;fPtMax=max;}
61         virtual       ~AliRsnDaughterCutPtPair()                           { }
62         
63         virtual Bool_t Pass(AliRsnDaughter *track1, AliRsnDaughter *track2);
64
65 protected:
66
67         Double_t fPtMin; // smallest allowed Pt
68         Double_t fPtMax; // largest allowed Pt
69         
70         ClassDef(AliRsnDaughterCutPtPair,1)
71 };
72
73 //-------------------------------------------------------------------------
74
75 #endif