Possible conflicts between Heavy Flavor and Atlas Tuning removed.
[u/mrichter/AliRoot.git] / PYTHIA6 / AliDecayerPythia.h
CommitLineData
8d2cd130 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// Implementation of AliDecayer using Pythia
9// Method forwarding to the AliPythia instance.
10// Author: andreas.morsch@cern.ch
11
12#include "AliDecayer.h"
13class AliPythia;
14class TClonesArrray;
15
16class AliDecayerPythia :
17public AliDecayer
18{
19 public:
20 AliDecayerPythia();
8d2cd130 21//
22 virtual ~AliDecayerPythia(){;}
8d2cd130 23 virtual void Init();
24 virtual void Decay(Int_t idpart, TLorentzVector *p);
25 virtual Int_t ImportParticles(TClonesArray *particles);
26 virtual void SetForceDecay(Decay_t decay) {fDecay=decay;}
27 virtual void SetForceDecay(Int_t decay)
28 {SetForceDecay((Decay_t) decay);}
29 virtual void ForceDecay();
30
31 virtual Float_t GetPartialBranchingRatio(Int_t ipart);
32 virtual Float_t GetLifetime(Int_t kf);
33 virtual void WriteDecayTable();
34 virtual void ReadDecayTable();
35
36 private:
37 void DefineParticles();
38 void Lu1Ent(Int_t flag, Int_t idpart,
39 Double_t mom, Double_t theta, Double_t phi);
40 Int_t CountProducts(Int_t channel, Int_t particle);
41 void ForceParticleDecay(Int_t particle, Int_t product, Int_t mult);
7935c2c7 42 void ForceParticleDecay(Int_t particle, Int_t* products, Int_t* mult, Int_t npart);
8d2cd130 43 void ForceHadronicD();
44 void ForceOmega();
45 Float_t GetBraPart(Int_t kf);
c125238c 46 void Copy(TObject &decayer) const;
014a9521 47 AliDecayerPythia(const AliDecayerPythia &decayer):AliDecayer(decayer)
48 {decayer.Copy(*this);}
8d2cd130 49 virtual AliDecayerPythia &operator=(const AliDecayerPythia &decayer)
50 {decayer.Copy(*this);return(*this);}
51
52
53 private:
54 AliPythia* fPythia; //! Pointer to AliPythia
55 Decay_t fDecay; // Forced decay mode
56 Float_t fBraPart[501]; //! Branching ratios
57 static Bool_t fgInit; //! initialization flag
58
59 ClassDef(AliDecayerPythia,2) // AliDecayer implementation using Pythia
60};
61#endif
62
63
64
65
66
67
68