]>
Commit | Line | Data |
---|---|---|
b9bbd271 | 1 | // |
2 | // Class AliRsnValue | |
3 | // | |
4 | // Definition of a single value which can be computed | |
5 | // from any of the defined input objects implemented | |
6 | // in the resonance package. | |
7 | // | |
8 | ||
9 | #ifndef ALIRSNVALUE_H | |
10 | #define ALIRSNVALUE_H | |
11 | ||
0d73200d | 12 | #include "TNamed.h" |
2dab9030 | 13 | #include "TArrayD.h" |
14 | ||
b9bbd271 | 15 | class AliRsnPairDef; |
2dab9030 | 16 | class AliRsnMother; |
b9bbd271 | 17 | |
0d73200d | 18 | class AliRsnValue : public TNamed |
b9bbd271 | 19 | { |
20 | public: | |
21 | ||
2dab9030 | 22 | enum EValueType |
b9bbd271 | 23 | { |
b9bbd271 | 24 | kTrack1P, |
25 | kTrack2P, | |
26 | kTrack1Pt, | |
27 | kTrack2Pt, | |
3c07ce75 | 28 | kTrack1Px, |
29 | kTrack1Py, | |
30 | kTrack1Pz, | |
31 | kTrack2Px, | |
32 | kTrack2Py, | |
33 | kTrack2Pz, | |
b9bbd271 | 34 | kPairInvMass, |
35 | kPairInvMassMC, | |
36 | kPairInvMassRes, | |
37 | kPairPt, | |
38 | kPairEta, | |
39 | kPairMt, | |
40 | kPairY, | |
2e521c29 | 41 | kPairCosThetaStar, |
cadcd9e0 | 42 | kPairCosThetaStar1, |
43 | kPairCosThetaStar2, | |
44 | kPairCosThetaStarMC1, | |
45 | kPairCosThetaStarMC2, | |
b9bbd271 | 46 | kEventMult, |
2dab9030 | 47 | kValueTypes |
b9bbd271 | 48 | }; |
49 | ||
2dab9030 | 50 | AliRsnValue(); |
b2b08ca2 | 51 | AliRsnValue(const char *name, EValueType type, Int_t n = 0, Double_t min = 0.0, Double_t max = 0.0); |
0d73200d | 52 | AliRsnValue(const char *name, EValueType type, Double_t min, Double_t max, Double_t step); |
b2b08ca2 | 53 | AliRsnValue(const char *name, EValueType type, Int_t n, Double_t *array); |
54 | AliRsnValue(const AliRsnValue& copy) : TNamed(copy),fType(copy.fType),fValue(copy.fValue),fArray(copy.fArray) {} | |
55 | AliRsnValue& operator=(const AliRsnValue& copy) {SetName(copy.GetName());fType=copy.fType;fValue=copy.fValue;fArray=copy.fArray;return (*this);} | |
b9bbd271 | 56 | virtual ~AliRsnValue() { } |
2dab9030 | 57 | |
b2b08ca2 | 58 | TArrayD GetArray() const {return fArray;} |
2dab9030 | 59 | Double_t GetValue() const {return fValue;} |
60 | EValueType GetValueType() {return fType;} | |
b9bbd271 | 61 | |
2dab9030 | 62 | void SetValueType(EValueType type) {fType = type;} |
63 | void SetBins(Int_t n, Double_t min, Double_t max); | |
64 | void SetBins(Double_t min, Double_t max, Double_t step); | |
b2b08ca2 | 65 | void SetBins(Int_t n, Double_t *array); |
2dab9030 | 66 | |
2e521c29 | 67 | Bool_t Eval(AliRsnMother * const mother, AliRsnPairDef * const pairDef, AliRsnEvent * const event); |
b9bbd271 | 68 | |
69 | private: | |
70 | ||
2dab9030 | 71 | EValueType fType; // value type |
2dab9030 | 72 | Double_t fValue; // computed value |
b2b08ca2 | 73 | TArrayD fArray; // array of bins (when necessary) |
2dab9030 | 74 | |
b9bbd271 | 75 | // ROOT dictionary |
76 | ClassDef(AliRsnValue, 1) | |
77 | }; | |
78 | ||
79 | #endif |