4 // Definition of a single value which can be computed
5 // from any of the defined input objects implemented
6 // in the resonance package.
14 #include "AliESDtrackCuts.h"
19 class AliRsnValue : public TNamed
56 AliRsnValue(const char *name, EValueType type, Int_t n = 0, Double_t min = 0.0, Double_t max = 0.0);
57 AliRsnValue(const char *name, EValueType type, Double_t min, Double_t max, Double_t step);
58 AliRsnValue(const char *name, EValueType type, Int_t n, Double_t *array);
59 AliRsnValue(const AliRsnValue& copy);
60 AliRsnValue& operator=(const AliRsnValue& copy);
61 virtual ~AliRsnValue() { }
63 TArrayD GetArray() const {return fArray;}
64 Double_t GetValue() const {return fValue;}
65 EValueType GetValueType() const {return fType;}
66 const AliESDtrackCuts* GetCuts() const {return &fESDCuts;}
68 void SetValueType(EValueType type) {fType = type;}
69 void SetBins(Int_t n, Double_t min, Double_t max);
70 void SetBins(Double_t min, Double_t max, Double_t step);
71 void SetBins(Int_t n, Double_t *array);
72 void Set(EValueType type, Int_t n = 0, Double_t min = 0.0, Double_t max = 0.0) {fType = type; SetBins(n, min, max);}
73 void Set(EValueType type, Double_t min, Double_t max, Double_t step) {fType = type; SetBins(min, max, step);}
74 void Set(EValueType type, Int_t n, Double_t *array) {fType = type; SetBins(n, array);}
76 virtual Bool_t Eval(AliRsnMother *mother, AliRsnPairDef *pairDef, AliRsnEvent *event);
77 virtual Bool_t Eval(AliRsnDaughter *daughter, AliRsnEvent *event);
78 virtual void Print(Option_t *option = "") const;
82 Double_t fValue; // computed value
83 EValueType fType; // value type
84 TArrayD fArray; // array of bins (when necessary)
85 AliESDtrackCuts fESDCuts; // ESD track cuts used for a way to compute multiplicity
88 ClassDef(AliRsnValue, 1)