- Add omega forced decay.
[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, kKaToMu, kNoDecay, kHadronicD, kOmega, kAll}
20 Decay_t;
21
22 class AliDecayer :
23 public TObject
24 {
25  public:
26 //
27     virtual ~AliDecayer(){;}
28     virtual void    Init()                                     =0;
29     virtual void    Decay(Int_t idpart, TLorentzVector* p)     =0;
30     virtual Int_t   ImportParticles(TClonesArray *particles)   =0;
31     virtual void    SetForceDecay(Decay_t type)                =0;
32     virtual void    ForceDecay()                               =0;
33     virtual Float_t GetPartialBranchingRatio(Int_t ipart)      =0;
34     virtual Float_t GetLifetime(Int_t kf)                      =0;
35     ClassDef(AliDecayer,2) // Alice Decayer Base Class
36 };
37 #endif
38
39
40
41
42
43
44