StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
EvtParticleDecayList.hh
1 //--------------------------------------------------------------------------
2 //
3 // Environment:
4 // This software is part of the EvtGen package developed jointly
5 // for the BaBar and CLEO collaborations. If you use all or part
6 // of it, please give an appropriate acknowledgement.
7 //
8 // Copyright Information: See EvtGen/COPYRIGHT
9 // Copyright (C) 1998 Caltech, UCSB
10 //
11 // Module: EvtGen/EvtParticleDecayList.hh
12 //
13 // Description:
14 //
15 // Modification history:
16 //
17 // DJL/RYD August 11, 1998 Module created
18 //
19 //------------------------------------------------------------------------
20 
21 #ifndef EVTPARTICLEDECAYLIST_HH
22 #define EVTPARTICLEDECAYLIST_HH
23 
24 #include "EvtGenBase/EvtParticleDecay.hh"
25 
27 
29 
30 public:
31 
33  _decaylist=0;
34  _nmode=0;
35  _rawbrfrsum=0;
36  }
37 
39 
41 
42  EvtParticleDecayList& operator=(const EvtParticleDecayList &o);
43 
44  int getNMode() const {return _nmode;}
45 
46  void setNMode(int nmode);
47 
48  EvtDecayBase* getDecayModel(EvtParticle *p);
49  EvtDecayBase* getDecayModel(int imode);
50 
51  EvtParticleDecay& getDecay(int nchannel) const;
52 
53  double getRawBrfrSum() {return _rawbrfrsum;}
54  void setRawBrfrSum(double rawbrfrsum) {_rawbrfrsum=rawbrfrsum;}
55 
56  void makeChargeConj(EvtParticleDecayList* conjDecayList);
57 
58  void removeDecay();
59 
60  void alocateDecay(int nmode){
61  _decaylist= new EvtParticleDecayPtr[nmode];
62  }
63 
64  void removeMode(EvtDecayBase* decay);
65 
66  void addMode(EvtDecayBase* decay,double brfr,double massmin);
67  void finalize();
68 
69  void printSummary();
70 
71  bool isJetSet() const ;
72 
73 private:
74 
75  EvtParticleDecayPtr* _decaylist;
76 
77  double _rawbrfrsum;
78  int _nmode;
79 
80 };
81 
82 #endif
83