Decayer option kPhiKK for forced phi->K+K- decay added.
[u/mrichter/AliRoot.git] / EVGEN / AliDecayer.h
1 #ifndef ALIDECAYER_H
2 #define ALIDECAYER_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 // Abstract base class for particle decays.
9 // Clients are the transport code and the primary particle generators
10 // Author: andreas.morsch@cern.ch
11
12 #include <TObject.h>
13 class TClonesArray;
14 class TLorentzVector;
15
16 typedef enum
17 { kSemiElectronic, kDiElectron, kSemiMuonic, kDiMuon,
18   kBJpsiDiMuon, kBJpsiDiElectron, 
19   kBPsiPrimeDiMuon, kBPsiPrimeDiElectron, kPiToMu,
20   kKaToMu, kNoDecay,
21   kHadronicD, kOmega, kPhiKK, kAll, kNoDecayHeavy}
22 Decay_t;
23
24 class AliDecayer :
25 public TObject
26 {
27  public:
28 //
29     virtual ~AliDecayer(){;}
30     virtual void    Init()                                     =0;
31     virtual void    Decay(Int_t idpart, TLorentzVector* p)     =0;
32     virtual Int_t   ImportParticles(TClonesArray *particles)   =0;
33     virtual void    SetForceDecay(Decay_t type)                =0;
34     virtual void    ForceDecay()                               =0;
35     virtual Float_t GetPartialBranchingRatio(Int_t ipart)      =0;
36     virtual Float_t GetLifetime(Int_t kf)                      =0;
37     virtual void    ReadDecayTable()                           =0;
38     ClassDef(AliDecayer,2) // Alice Decayer Base Class
39 };
40 #endif
41
42
43
44
45
46
47