]>
Commit | Line | Data |
---|---|---|
c1e10a2a | 1 | #ifndef ALIDECAYERPOLARIZED_H |
2 | #define ALIDECAYERPOLARIZED_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | // Class to generate decay products for polarized heavy quarkonia | |
7 | ||
8 | #include <TLorentzVector.h> | |
9 | #include <TClonesArray.h> | |
10 | #include <TF1.h> | |
11 | ||
3cad937a | 12 | #include "AliDecayer.h" |
c1e10a2a | 13 | |
14 | ||
3cad937a | 15 | class AliDecayerPolarized : public AliDecayer |
c1e10a2a | 16 | { |
17 | public: | |
18 | typedef enum { kNoPol = 0, kColSop = 1, kHelicity = 2} Polar_t; | |
19 | typedef enum { kElectron = 1, kMuon = 2} FinState_t; | |
20 | AliDecayerPolarized(); | |
21 | AliDecayerPolarized(Double_t alpha, Polar_t systref, FinState_t decprod); | |
1c56e311 | 22 | AliDecayerPolarized(const AliDecayerPolarized &decayer); |
c1e10a2a | 23 | virtual ~AliDecayerPolarized(); |
24 | void SetPolDec(Double_t alpha=0) {fAlpha=alpha;} | |
25 | void SetPolRefSys(Polar_t systref=kColSop) {fSystRef=systref;} | |
26 | void SetDecProd(FinState_t decprod=kMuon) {fDecProd=decprod;} | |
3cad937a | 27 | virtual void Init(){;} |
28 | virtual void Decay(Int_t ipart, TLorentzVector *p); | |
c1e10a2a | 29 | virtual Int_t ImportParticles(TClonesArray *part); |
3cad937a | 30 | // The following methods are dummy |
31 | virtual void SetForceDecay(Int_t type); | |
32 | virtual void ForceDecay(); | |
33 | virtual Float_t GetPartialBranchingRatio(Int_t ipart); | |
34 | virtual Float_t GetLifetime(Int_t kf); | |
35 | virtual void ReadDecayTable(); | |
c1e10a2a | 36 | |
37 | protected: | |
38 | Double_t fAlpha; // Polarization parameter | |
39 | Polar_t fSystRef; // Reference system for polarization | |
40 | FinState_t fDecProd; // Choice of decay products | |
41 | TF1 *fPol; // ! Angular distribution for decay products | |
42 | TParticle *fMother; // ! Particle that has to be decayed | |
43 | TParticle *fDaughter1; // ! Decay product no. 1 | |
44 | TParticle *fDaughter2; // ! Decay product no. 2 | |
78fd4e85 | 45 | |
46 | private: | |
47 | void Copy(TObject &decayer) const; | |
48 | AliDecayerPolarized &operator=(const AliDecayerPolarized &decayer) | |
49 | {decayer.Copy(*this);return(*this);} | |
c1e10a2a | 50 | |
51 | ClassDef(AliDecayerPolarized,1) // Polarized 2-body quarkonium decay | |
52 | }; | |
53 | #endif | |
54 | ||
55 |