1 //--------------------------------------------------------------------------
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.
8 // Copyright Information: See EvtGen/COPYRIGHT
9 // Copyright (C) 1998 Caltech, UCSB
11 // Module: EvtGen/EvtParticleDecayList.hh
15 // Modification history:
17 // DJL/RYD August 11, 1998 Module created
19 //------------------------------------------------------------------------
21 #ifndef EVTPARTICLEDECAYLIST_HH
22 #define EVTPARTICLEDECAYLIST_HH
24 #include "EvtGenBase/EvtParticleDecay.hh"
26 typedef EvtParticleDecay* EvtParticleDecayPtr;
28 class EvtParticleDecayList{
32 EvtParticleDecayList(){
38 EvtParticleDecayList(const EvtParticleDecayList &o);
40 ~EvtParticleDecayList();
42 EvtParticleDecayList& operator=(const EvtParticleDecayList &o);
44 int getNMode() const {return _nmode;}
46 void setNMode(int nmode);
48 EvtDecayBase* getDecayModel(EvtParticle *p);
49 EvtDecayBase* getDecayModel(int imode);
51 EvtParticleDecay& getDecay(int nchannel) const;
53 double getRawBrfrSum() {return _rawbrfrsum;}
54 void setRawBrfrSum(double rawbrfrsum) {_rawbrfrsum=rawbrfrsum;}
56 void makeChargeConj(EvtParticleDecayList* conjDecayList);
60 void alocateDecay(int nmode){
61 _decaylist= new EvtParticleDecayPtr[nmode];
64 void removeMode(EvtDecayBase* decay);
66 void addMode(EvtDecayBase* decay,double brfr,double massmin);
71 bool isJetSet() const ;
75 EvtParticleDecayPtr* _decaylist;