72bda017 |
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$ */ |
675e9664 |
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 | |
72bda017 |
12 | #include <TObject.h> |
13 | class TClonesArray; |
14 | class TLorentzVector; |
15 | |
69a998bd |
16 | typedef enum |
17 | { kSemiElectronic, kDiElectron, kSemiMuonic, kDiMuon, |
18 | kBJpsiDiMuon, kBJpsiDiElectron, |
00cb2f27 |
19 | kBPsiPrimeDiMuon, kBPsiPrimeDiElectron, kPiToMu, |
20 | kKaToMu, kNoDecay, |
21 | kHadronicD, kOmega, kPhiKK, kAll, kNoDecayHeavy} |
69a998bd |
22 | Decay_t; |
23 | |
72bda017 |
24 | class AliDecayer : |
25 | public TObject |
26 | { |
27 | public: |
28 | // |
675e9664 |
29 | virtual ~AliDecayer(){;} |
72bda017 |
30 | virtual void Init() =0; |
31 | virtual void Decay(Int_t idpart, TLorentzVector* p) =0; |
32 | virtual Int_t ImportParticles(TClonesArray *particles) =0; |
01d608eb |
33 | virtual void SetForceDecay(Decay_t type) =0; |
34 | virtual void ForceDecay() =0; |
72bda017 |
35 | virtual Float_t GetPartialBranchingRatio(Int_t ipart) =0; |
f3fae1f0 |
36 | virtual Float_t GetLifetime(Int_t kf) =0; |
a5d8b1d9 |
37 | virtual void ReadDecayTable() =0; |
086919a7 |
38 | ClassDef(AliDecayer,2) // Alice Decayer Base Class |
72bda017 |
39 | }; |
40 | #endif |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |