]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVGEN/AliDecayerPythia.h
Handle the case fForceDecay=all during the generation, i.e. select all secondaries.
[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 #include "AliDecayer.h"
9 #include "AliPythia.h"
10
11 class AliDecayerPythia :
12 public AliDecayer
13 {
14  public:
15 //
16     AliDecayerPythia();
17     virtual void    Init();
18     virtual void    Decay(Int_t idpart, TLorentzVector *p);
19     virtual Int_t   ImportParticles(TClonesArray *particles)
20         {return fPythia->ImportParticles(particles, "All");}
21     virtual void    ForceDecay(Decay_t type);
22     virtual Float_t GetPartialBranchingRatio(Int_t ipart);
23  private:
24     void     DefineParticles();
25     void     Lu1Ent(Int_t flag, Int_t idpart, 
26                     Double_t mom, Double_t theta, Double_t phi);
27     Int_t    CountProducts(Int_t channel, Int_t particle);
28     void     ForceParticleDecay(Int_t particle, Int_t product, Int_t mult);
29     void     ForceHadronicD();    
30     void     AllowAllDecays();
31     Float_t  GetBraPart(Int_t kf);
32     
33     
34  private:
35     AliPythia*  fPythia;          // Pointer to AliPythia
36     Decay_t     fDecay;           // Forced decay mode
37     Float_t     fBraPart[501];    // Branching ratios
38
39     ClassDef(AliDecayerPythia,1)  // AliDecayer implementation using Pythia  
40 };
41 #endif
42
43
44
45
46
47
48