]>
Commit | Line | Data |
---|---|---|
06351446 | 1 | // |
e2bafbbc | 2 | // Class AliRsnPairDef |
3 | // | |
4 | // Defines a decay channel for a resonance, | |
5 | // resulting in a specified PDG code for the mother, | |
6 | // and the particle type for the daughters, defined | |
7 | // according to the internal PID format of the package | |
8 | // | |
9 | // author: A. Pulvirenti (alberto.pulvirenti@ct.infn.it) | |
10 | // | |
06351446 | 11 | |
12 | #ifndef ALIRSNPAIRDEF_H | |
13 | #define ALIRSNPAIRDEF_H | |
14 | ||
aec0ec32 | 15 | #include <TString.h> |
16 | ||
06351446 | 17 | #include "AliRsnPID.h" |
18 | ||
e2bafbbc | 19 | class AliRsnDaughter; |
20 | ||
06351446 | 21 | class AliRsnPairDef : public TObject |
22 | { | |
aec0ec32 | 23 | public: |
06351446 | 24 | |
25 | AliRsnPairDef(); | |
aec0ec32 | 26 | AliRsnPairDef(Char_t sign1, AliRsnPID::EType type1, |
27 | Char_t sign2, AliRsnPID::EType type2, Int_t motherPDG = 0); | |
28 | AliRsnPairDef(AliRsnPID::EType type1, Char_t sign1, | |
29 | AliRsnPID::EType type2, Char_t sign2, Int_t motherPDG = 0); | |
06351446 | 30 | AliRsnPairDef(const AliRsnPairDef ©); |
aec0ec32 | 31 | const AliRsnPairDef& operator= (const AliRsnPairDef ©); |
06351446 | 32 | virtual ~AliRsnPairDef() { } |
33 | ||
34 | // getters | |
35 | Char_t GetCharge(Int_t i) const {if (i>=0&&i<2) return fCharge[i]; else return 0;} | |
36 | AliRsnPID::EType GetType(Int_t i) const {if (i>=0&&i<2) return fType[i]; else return AliRsnPID::kUnknown;} | |
37 | Double_t GetMass(Int_t i) const {if (i>=0&&i<2) return fMass[i]; else return 0.0;} | |
06351446 | 38 | Int_t GetMotherPDG() const {return fMotherPDG;} |
aec0ec32 | 39 | TString GetPairName(); |
06351446 | 40 | |
41 | // setters | |
42 | Bool_t SetPairElement(Int_t i, Char_t charge, AliRsnPID::EType pid); | |
e2bafbbc | 43 | Bool_t SetPair(Char_t ch1, AliRsnPID::EType pid1, Char_t ch2, AliRsnPID::EType pid2); |
06351446 | 44 | void SetMotherPDG(Int_t pdg) {fMotherPDG = pdg;} |
06351446 | 45 | |
46 | // pair information methods | |
47 | Bool_t IsLikeSign() {return (fCharge[0] == fCharge[1]);} | |
48 | Bool_t HasEqualTypes() {return (fType[0] == fType[1]);} | |
49 | ||
50 | // working routines | |
06351446 | 51 | Double_t ComputeWeight(AliRsnDaughter *d0, AliRsnDaughter *d1); |
52 | ||
aec0ec32 | 53 | private: |
06351446 | 54 | |
55 | // pair parameters | |
56 | Int_t fMotherPDG; // PDG code of true mother (if known) | |
57 | Double_t fMass[2]; // mass of particles | |
58 | Char_t fCharge[2]; // charge of particles | |
59 | AliRsnPID::EType fType[2]; // PID of particles | |
60 | ||
06351446 | 61 | // ROOT dictionary |
62 | ClassDef(AliRsnPairDef, 1) | |
63 | }; | |
64 | ||
65 | #endif |