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 */
8 // Implementation of AliDecayer using Pythia
9 // Method forwarding to the AliPythia instance.
10 // Author: andreas.morsch@cern.ch
12 #include "AliDecayer.h"
16 class AliDecayerPythia :
21 AliDecayerPythia(const AliDecayerPythia &decayer);
23 virtual ~AliDecayerPythia(){;}
25 virtual void Decay(Int_t idpart, TLorentzVector *p);
26 virtual Int_t ImportParticles(TClonesArray *particles);
27 virtual void SetForceDecay(Decay_t decay) {fDecay=decay;}
28 virtual void SetForceDecay(Int_t decay)
29 {SetForceDecay((Decay_t) decay);}
30 virtual void ForceDecay();
31 virtual void SetPatchOmegaDalitz() {fPatchOmegaDalitz = 1;}
32 virtual void SetDecayerExodus() {fDecayerExodus = 1;}
33 virtual void HeavyFlavourOff() {fHeavyFlavour = kFALSE;}
34 virtual void DecayLongLivedParticles() {fLongLived = kTRUE;}
35 virtual Float_t GetPartialBranchingRatio(Int_t ipart);
36 virtual Float_t GetLifetime(Int_t kf);
37 virtual void SwitchOffBDecay();
38 virtual void SwitchOffPi0() {fPi0 = 0;}
39 virtual void WriteDecayTable();
40 virtual void ReadDecayTable();
43 void DefineParticles();
44 void Lu1Ent(Int_t flag, Int_t idpart,
45 Double_t mom, Double_t theta, Double_t phi);
46 Int_t CountProducts(Int_t channel, Int_t particle);
47 void ForceParticleDecay(Int_t particle, Int_t product, Int_t mult);
48 void ForceParticleDecay(Int_t particle, const Int_t* products, Int_t* mult, Int_t npart, Bool_t flag = 0);
49 void ForceHadronicD(Int_t optUser4Bodies=1);
52 void SwitchOffHeavyFlavour();
53 void ForceBeautyUpgrade();
54 Float_t GetBraPart(Int_t kf);
55 void Copy(TObject &decayer) const;
57 AliDecayerPythia &operator=(const AliDecayerPythia &decayer)
58 {decayer.Copy(*this);return(*this);}
62 AliPythia* fPythia; //! Pointer to AliPythia
63 Decay_t fDecay; // Forced decay mode
64 Float_t fBraPart[501]; //! Branching ratios
65 Bool_t fHeavyFlavour; //! Flag for heavy flavors
66 Bool_t fLongLived; //! Flag for long lived particle decay
67 Bool_t fPatchOmegaDalitz;//! Flag to patch the omega Dalitz decays
68 Bool_t fDecayerExodus; //! Flag for EXODUS decayer
69 Bool_t fPi0; //! Flag for pi0 decay
70 static Bool_t fgInit; //! initialization flag
72 ClassDef(AliDecayerPythia, 5) // AliDecayer implementation using Pythia