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
60 AliRsnValue(const char *name, EValueType type, Int_t n = 0, Double_t min = 0.0, Double_t max = 0.0);
61 AliRsnValue(const char *name, EValueType type, Double_t min, Double_t max, Double_t step);
62 AliRsnValue(const char *name, EValueType type, Int_t n, Double_t *array);
63 AliRsnValue(const AliRsnValue& copy);
64 AliRsnValue& operator=(const AliRsnValue& copy);
65 virtual ~AliRsnValue() { }
67 TArrayD GetArray() const {return fArray;}
68 Double_t GetValue() const {return fValue;}
69 EValueType GetValueType() const {return fType;}
70 const AliESDtrackCuts* GetCuts() const {return &fESDCuts;}
72 void SetValueType(EValueType type) {fType = type;}
73 void SetBins(Int_t n, Double_t min, Double_t max);
74 void SetBins(Double_t min, Double_t max, Double_t step);
75 void SetBins(Int_t n, Double_t *array);
76 void Set(EValueType type, Int_t n = 0, Double_t min = 0.0, Double_t max = 0.0) {fType = type; SetBins(n, min, max);}
77 void Set(EValueType type, Double_t min, Double_t max, Double_t step) {fType = type; SetBins(min, max, step);}
78 void Set(EValueType type, Int_t n, Double_t *array) {fType = type; SetBins(n, array);}
80 virtual Bool_t Eval(AliRsnMother * const mother, AliRsnPairDef * const pairDef, AliRsnEvent * const event);
81 virtual Bool_t Eval(AliRsnDaughter * const daughter, AliRsnEvent * const event);
82 virtual void Print(Option_t *option = "") const;
86 Double_t fValue; // computed value
87 EValueType fType; // value type
88 TArrayD fArray; // array of bins (when necessary)
89 AliESDtrackCuts fESDCuts; // ESD track cuts used for a way to compute multiplicity
92 ClassDef(AliRsnValue, 1)