]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/RESONANCES/AliRsnPairDef.h
Package revised - New AnalysisTask's - Added more functions
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnPairDef.h
CommitLineData
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 19class AliRsnDaughter;
20
06351446 21class 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 &copy);
aec0ec32 31 const AliRsnPairDef& operator= (const AliRsnPairDef &copy);
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