Decayer with alice decay options using Pythia8
[u/mrichter/AliRoot.git] / PYTHIA8 / AliDecayerPythia8.h
CommitLineData
948d10f4 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 <TPythia8Decayer.h>
12#include <ParticleData.h>
13#include "AliDecayer.h"
14
15class AliDecayerPythia8 : public TPythia8Decayer {
16 public:
17 AliDecayerPythia8();
18 virtual ~AliDecayerPythia8(){;}
19 virtual void SetForceDecay(Decay_t decay) {fDecay=decay;}
20 virtual void SetForceDecay(Int_t decay) {SetForceDecay((Decay_t) decay);}
21 virtual void ForceDecay();
22 virtual Float_t GetPartialBranchingRatio(Int_t ipart);
23 virtual void HeavyFlavourOff() {fHeavyFlavour = kFALSE;}
24 virtual Float_t GetLifetime(Int_t kf);
25 private:
26 Int_t CountProducts(Pythia8::DecayChannel& decCh, Int_t particle);
27 void ForceParticleDecay(Int_t particle, Int_t product, Int_t mult);
28 void ForceParticleDecay(Int_t particle, Int_t* products, Int_t* mult, Int_t npart);
29 void SwitchOffHeavyFlavour();
30 void ForceHadronicD(Int_t optUser4Bodies = 1);
31 protected:
32 Decay_t fDecay; // Forced decay mode
33 Bool_t fHeavyFlavour; //! Flag for heavy flavors
34 ClassDef(AliDecayerPythia8, 1) // Particle Decayer using Pythia8
35};
36#endif
37
38
39
40
41
42
43