4 // Definition of a single value which can be computed
5 // from any of the defined input objects implemented
6 // in the resonance package.
18 class AliRsnValue : public TNamed
57 AliRsnValue(const char *name, EValueType type, Int_t n = 0, Double_t min = 0.0, Double_t max = 0.0);
58 AliRsnValue(const char *name, EValueType type, Double_t min, Double_t max, Double_t step);
59 AliRsnValue(const char *name, EValueType type, Int_t n, Double_t *array);
60 AliRsnValue(const AliRsnValue& copy) : TNamed(copy),fValue(copy.fValue),fType(copy.fType),fArray(copy.fArray) {}
61 AliRsnValue& operator=(const AliRsnValue& copy) {SetName(copy.GetName());fType=copy.fType;fValue=copy.fValue;fArray=copy.fArray;return (*this);}
62 virtual ~AliRsnValue() { }
64 TArrayD GetArray() const {return fArray;}
65 Double_t GetValue() const {return fValue;}
66 EValueType GetValueType() {return fType;}
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 * const mother, AliRsnPairDef * const pairDef, AliRsnEvent * const event);
77 virtual Bool_t Eval(AliRsnDaughter * const daughter, AliRsnEvent * const event);
78 virtual void Print(Option_t *option = "") const;
82 Double_t fValue; // computed value
86 EValueType fType; // value type
87 TArrayD fArray; // array of bins (when necessary)
90 ClassDef(AliRsnValue, 1)