]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVGEN/AliDecayerPolarized.h
Modifications in AliRoot for re-processing a selected event.
[u/mrichter/AliRoot.git] / EVGEN / AliDecayerPolarized.h
CommitLineData
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 15class 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