File indexing completed on 2026-08-06 09:20:03
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #ifndef EVTPARTICLEDECAYLIST_HH
0022 #define EVTPARTICLEDECAYLIST_HH
0023
0024 #include "EvtGenBase/EvtParticleDecay.hh"
0025
0026 typedef EvtParticleDecay* EvtParticleDecayPtr;
0027
0028 class EvtParticleDecayList {
0029 public:
0030 EvtParticleDecayList()
0031 {
0032 _decaylist = 0;
0033 _nmode = 0;
0034 _rawbrfrsum = 0;
0035 }
0036
0037 EvtParticleDecayList( const EvtParticleDecayList& o );
0038
0039 ~EvtParticleDecayList();
0040
0041 EvtParticleDecayList& operator=( const EvtParticleDecayList& o );
0042
0043 int getNMode() const { return _nmode; }
0044
0045 void setNMode( int nmode );
0046
0047 EvtDecayBase* getDecayModel( EvtParticle* p );
0048 EvtDecayBase* getDecayModel( int imode );
0049
0050 EvtParticleDecay& getDecay( int nchannel ) const;
0051
0052 double getRawBrfrSum() { return _rawbrfrsum; }
0053 void setRawBrfrSum( double rawbrfrsum ) { _rawbrfrsum = rawbrfrsum; }
0054
0055 void makeChargeConj( EvtParticleDecayList* conjDecayList );
0056
0057 void removeDecay();
0058
0059 void alocateDecay( int nmode )
0060 {
0061 _decaylist = new EvtParticleDecayPtr[nmode];
0062 }
0063
0064 void removeMode( EvtDecayBase* decay );
0065
0066 void addMode( EvtDecayBase* decay, double brfr, double massmin );
0067 void finalize();
0068
0069 void printSummary();
0070
0071 bool isJetSet() const;
0072
0073 private:
0074 EvtParticleDecayPtr* _decaylist;
0075
0076 double _rawbrfrsum;
0077 int _nmode;
0078 };
0079
0080 #endif