fb135e81cad0cccb102c2b21b99149e412ad2c18
[u/mrichter/AliRoot.git] / EVGEN / AliDecayerPythia.h
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
8 // Implementation of AliDecayer using Pythia
9 // Method forwarding to the AliPythia instance.
10 // Author: andreas.morsch@cern.ch
11
12 #include "AliDecayer.h"
13 class AliPythia;
14 class TClonesArrray;
15
16 class AliDecayerPythia :
17 public AliDecayer
18 {
19  public:
20     AliDecayerPythia();
21     void  Copy(AliDecayerPythia &decayer) const;
22     
23 //    
24     virtual         ~AliDecayerPythia(){;}
25     
26     virtual void    Init();
27     virtual void    Decay(Int_t idpart, TLorentzVector *p);
28     virtual Int_t   ImportParticles(TClonesArray *particles);
29     virtual void    SetForceDecay(Decay_t decay) {fDecay=decay;}
30     virtual void    ForceDecay();
31     
32     virtual Float_t GetPartialBranchingRatio(Int_t ipart);
33     virtual Float_t GetLifetime(Int_t kf);
34     
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);
41     void     ForceHadronicD();    
42     Float_t  GetBraPart(Int_t kf);
43
44     AliDecayerPythia(const AliDecayerPythia &decayer) {;}
45     virtual AliDecayerPythia &operator=(const AliDecayerPythia &decayer) 
46     {decayer.Copy(*this);return(*this);}
47     
48     
49  private:
50     AliPythia*  fPythia;          //  ! Pointer to AliPythia
51     Decay_t     fDecay;           //  Forced decay mode
52     Float_t     fBraPart[501];    //  ! Branching ratios
53     static Bool_t fgInit;         //  ! initialization flag 
54     
55     ClassDef(AliDecayerPythia,1)  // AliDecayer implementation using Pythia  
56 };
57 #endif
58
59
60
61
62
63
64