Eta and omega added.
[u/mrichter/AliRoot.git] / EVGEN / AliDecayerPythia.h
CommitLineData
0d54355a 1#ifndef ALIDECAYERPYTHIA_H
2#define ALIDECAYERPYTHIA_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
675e9664 8// Implementation of AliDecayer using Pythia
9// Method forwarding to the AliPythia instance.
10// Author: andreas.morsch@cern.ch
11
0d54355a 12#include "AliDecayer.h"
675e9664 13class AliPythia;
46720693 14class TClonesArrray;
0d54355a 15
16class AliDecayerPythia :
17public AliDecayer
18{
19 public:
0d54355a 20 AliDecayerPythia();
675e9664 21 void Copy(AliDecayerPythia &decayer) const;
22
23//
46720693 24 virtual ~AliDecayerPythia(){;}
25
0d54355a 26 virtual void Init();
27 virtual void Decay(Int_t idpart, TLorentzVector *p);
675e9664 28 virtual Int_t ImportParticles(TClonesArray *particles);
01d608eb 29 virtual void SetForceDecay(Decay_t decay) {fDecay=decay;}
30 virtual void ForceDecay();
31
0d54355a 32 virtual Float_t GetPartialBranchingRatio(Int_t ipart);
989ce1b7 33 virtual Float_t GetLifetime(Int_t kf);
675e9664 34
0d54355a 35 private:
36 void DefineParticles();
37 void Lu1Ent(Int_t flag, Int_t idpart,
38 Double_t mom, Double_t theta, Double_t phi);
39 Int_t CountProducts(Int_t channel, Int_t particle);
40 void ForceParticleDecay(Int_t particle, Int_t product, Int_t mult);
086919a7 41 void ForceHadronicD();
42 void ForceOmega();
0d54355a 43 Float_t GetBraPart(Int_t kf);
675e9664 44
45 AliDecayerPythia(const AliDecayerPythia &decayer) {;}
46 virtual AliDecayerPythia &operator=(const AliDecayerPythia &decayer)
47 {decayer.Copy(*this);return(*this);}
0d54355a 48
49
50 private:
086919a7 51 AliPythia* fPythia; //! Pointer to AliPythia
52 Decay_t fDecay; // Forced decay mode
53 Float_t fBraPart[501]; //! Branching ratios
54 static Bool_t fgInit; //! initialization flag
fcd78501 55
086919a7 56 ClassDef(AliDecayerPythia,2) // AliDecayer implementation using Pythia
0d54355a 57};
58#endif
59
60
61
62
63
64
65