| 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 SetForceDecay(Decay_t decay) {fDecay=decay;} |
| 22 | virtual void ForceDecay(); |
| 23 | |
| 24 | virtual Float_t GetPartialBranchingRatio(Int_t ipart); |
| 25 | private: |
| 26 | void DefineParticles(); |
| 27 | void Lu1Ent(Int_t flag, Int_t idpart, |
| 28 | Double_t mom, Double_t theta, Double_t phi); |
| 29 | Int_t CountProducts(Int_t channel, Int_t particle); |
| 30 | void ForceParticleDecay(Int_t particle, Int_t product, Int_t mult); |
| 31 | void ForceHadronicD(); |
| 32 | void AllowAllDecays(); |
| 33 | Float_t GetBraPart(Int_t kf); |
| 34 | |
| 35 | |
| 36 | private: |
| 37 | AliPythia* fPythia; // Pointer to AliPythia |
| 38 | Decay_t fDecay; // Forced decay mode |
| 39 | Float_t fBraPart[501]; // Branching ratios |
| 40 | |
| 41 | ClassDef(AliDecayerPythia,1) // AliDecayer implementation using Pythia |
| 42 | }; |
| 43 | #endif |
| 44 | |
| 45 | |
| 46 | |
| 47 | |
| 48 | |
| 49 | |
| 50 | |