1 ////////////////////////////////////////////////////////////////////////////////////////////////
2 // Copyright : The FASTMC and SPHMC Collaboration //
3 // Author : Ionut Cristian Arsene //
4 // Affiliation : Oslo University, Norway & Institute for Space Sciences, Bucharest, Romania //
5 // e-mail : i.c.arsene@fys.uio.no //
6 // Date : 2007/05/30 //
8 // This class is using the particle and decays lists provided by the //
9 // THERMINATOR (Computer Physics Communications 174 669 (2006)) and //
10 // SHARE (Computer Physics Communications 167 229 (2005)) collaborations. //
11 ////////////////////////////////////////////////////////////////////////////////////////////////
13 #ifndef DECAYCHANNEL_H
14 #define DECAYCHANNEL_H
18 const Int_t kMaxDaughters = 3;
19 const Int_t kNonsensePDG = 1000000000;
23 DecayChannel(); // default constructor
24 DecayChannel(const DecayChannel ©); // copy constructor
25 DecayChannel(Int_t mother, Double_t branching, Int_t nDaughters, const Int_t *daughters); // explicit constructor
26 ~DecayChannel() {}; // destructor
28 void SetMotherPDG(Int_t value) {fMotherPDG = value;}
29 void SetBranching(Double_t value) {fBranchingRatio = value;}
30 void SetDaughters(const Int_t *values, Int_t n);
31 void AddDaughter(Int_t pdg);
32 Int_t GetMotherPDG() const {return fMotherPDG;}
33 Double_t GetBranching() const {return fBranchingRatio;}
34 Int_t GetNDaughters() const {return fNDaughters;}
35 const Int_t* GetDaughters() const {return fDaughtersPDG;}
36 Int_t GetDaughterPDG(Int_t i); // i --> must be the zero-based index of daughter
39 Int_t fMotherPDG; // PDG code of the mother particle
40 Double_t fBranchingRatio; // branching ratio
41 Int_t fNDaughters; // number of daughter particles
42 Int_t fDaughtersPDG[kMaxDaughters]; // array with daughters PDG