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 */
8 // Implementation of TVirtualMCDecayer using Pythia8
9 // Author: andreas.morsch@cern.ch
11 #include <ParticleData.h>
12 #include <TVirtualMCDecayer.h>
13 #include "AliDecayer.h"
15 class AliDecayerPythia8 : public TVirtualMCDecayer {
18 virtual ~AliDecayerPythia8(){;}
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();
30 virtual void SetDebugLevel(Int_t debug) {fDebug = debug;}
33 void AppendParticle(Int_t pdg, TLorentzVector* p);
36 AliDecayerPythia8(const AliDecayerPythia8&);
37 AliDecayerPythia8 operator=(const AliDecayerPythia8&);
38 void SwitchOffHeavyFlavour();
39 void ForceHadronicD(Int_t optUser4Bodies = 1);
41 AliTPythia8* fPythia8; // Pointer to pythia8
42 Int_t fDebug; // Debug level
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