Obsolete version removed.
[u/mrichter/AliRoot.git] / PYTHIA8 / AliDecayerPythia8.h
1 #ifndef ALIDECAYERPYTHIA8_H
2 #define ALIDECAYERPYTHIA8_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 TVirtualMCDecayer using Pythia8
9 // Author: andreas.morsch@cern.ch
10
11 #include <ParticleData.h>
12 #include <TVirtualMCDecayer.h>
13 #include "AliDecayer.h"
14
15 class AliDecayerPythia8 : public TVirtualMCDecayer {
16  public:
17   AliDecayerPythia8();
18   virtual ~AliDecayerPythia8(){;}
19   virtual void    Init();
20   virtual void    Decay(Int_t pdg, TLorentzVector* p);
21   virtual Int_t   ImportParticles(TClonesArray *particles);
22   virtual void    SetForceDecay(Decay_t decay) {fDecay=decay;}
23   virtual void    SetForceDecay(Int_t decay)   {SetForceDecay((Decay_t) decay);}
24   virtual void    ForceDecay();
25   virtual Float_t GetPartialBranchingRatio(Int_t ipart);
26   virtual void    HeavyFlavourOff() {fHeavyFlavour = kFALSE;}
27   virtual Float_t GetLifetime(Int_t kf);
28   virtual void    ReadDecayTable();
29
30   virtual void    SetDebugLevel(Int_t debug) {fDebug = debug;}
31
32  protected:
33    void AppendParticle(Int_t pdg, TLorentzVector* p);
34    void ClearEvent(); 
35  private:
36   AliDecayerPythia8(const AliDecayerPythia8&);
37   AliDecayerPythia8 operator=(const AliDecayerPythia8&);
38   void     SwitchOffHeavyFlavour();
39   void     ForceHadronicD(Int_t optUser4Bodies = 1);
40
41   AliTPythia8*  fPythia8;          // Pointer to pythia8
42   Int_t         fDebug;            // Debug level
43  
44   Decay_t       fDecay;            //  Forced decay mode
45   Bool_t        fHeavyFlavour;     //! Flag for heavy flavors
46   static Bool_t fgInit;            //! initialization flag 
47   ClassDef(AliDecayerPythia8, 1) // Particle Decayer using Pythia8
48 };
49 #endif
50
51
52
53
54
55
56