Line data Source code
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 :
12 : #include "AliDecayer.h"
13 :
14 : class TParticle;
15 :
16 : class AliDecayerPolarized : public AliDecayer
17 : {
18 : public:
19 : typedef enum { kNoPol = 0, kColSop = 1, kHelicity = 2} Polar_t;
20 : typedef enum { kElectron = 1, kMuon = 2} FinState_t;
21 : AliDecayerPolarized();
22 : AliDecayerPolarized(Double_t alpha, Polar_t systref, FinState_t decprod);
23 : AliDecayerPolarized(const AliDecayerPolarized &decayer);
24 : virtual ~AliDecayerPolarized();
25 0 : void SetPolDec(Double_t alpha=0) {fAlpha=alpha;}
26 0 : void SetPolRefSys(Polar_t systref=kColSop) {fSystRef=systref;}
27 0 : void SetDecProd(FinState_t decprod=kMuon) {fDecProd=decprod;}
28 0 : virtual void Init(){;}
29 : virtual void Decay(Int_t ipart, TLorentzVector *p);
30 : virtual Int_t ImportParticles(TClonesArray *part);
31 : // The following methods are dummy
32 : virtual void SetForceDecay(Int_t type);
33 : virtual void ForceDecay();
34 : virtual Float_t GetPartialBranchingRatio(Int_t ipart);
35 : virtual Float_t GetLifetime(Int_t kf);
36 : virtual void ReadDecayTable();
37 :
38 : protected:
39 : Double_t fAlpha; // Polarization parameter
40 : Polar_t fSystRef; // Reference system for polarization
41 : FinState_t fDecProd; // Choice of decay products
42 : TF1 *fPol; // ! Angular distribution for decay products
43 : TParticle *fMother; // ! Particle that has to be decayed
44 : TParticle *fDaughter1; // ! Decay product no. 1
45 : TParticle *fDaughter2; // ! Decay product no. 2
46 :
47 : private:
48 : void Copy(TObject &decayer) const;
49 : AliDecayerPolarized &operator=(const AliDecayerPolarized &decayer)
50 : {decayer.Copy(*this);return(*this);}
51 :
52 6 : ClassDef(AliDecayerPolarized,1) // Polarized 2-body quarkonium decay
53 : };
54 : #endif
55 :
56 :
|