evtgen is hosted by Hepforge, IPPP Durham
EvtGen  2.0.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
EvtParticleDecayList.hh
Go to the documentation of this file.
1 
2 /***********************************************************************
3 * Copyright 1998-2020 CERN for the benefit of the EvtGen authors *
4 * *
5 * This file is part of EvtGen. *
6 * *
7 * EvtGen is free software: you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation, either version 3 of the License, or *
10 * (at your option) any later version. *
11 * *
12 * EvtGen is distributed in the hope that it will be useful, *
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15 * GNU General Public License for more details. *
16 * *
17 * You should have received a copy of the GNU General Public License *
18 * along with EvtGen. If not, see <https://www.gnu.org/licenses/>. *
19 ***********************************************************************/
20 
21 #ifndef EVTPARTICLEDECAYLIST_HH
22 #define EVTPARTICLEDECAYLIST_HH
23 
25 
27 
29  public:
31  {
32  _decaylist = 0;
33  _nmode = 0;
34  _rawbrfrsum = 0;
35  }
36 
38 
40 
42 
43  int getNMode() const { return _nmode; }
44 
45  void setNMode( int nmode );
46 
48  EvtDecayBase* getDecayModel( int imode );
49 
50  EvtParticleDecay& getDecay( int nchannel ) const;
51 
52  double getRawBrfrSum() { return _rawbrfrsum; }
53  void setRawBrfrSum( double rawbrfrsum ) { _rawbrfrsum = rawbrfrsum; }
54 
55  void makeChargeConj( EvtParticleDecayList* conjDecayList );
56 
57  void removeDecay();
58 
59  void alocateDecay( int nmode )
60  {
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:
75 
76  double _rawbrfrsum;
77  int _nmode;
78 };
79 
80 #endif
void addMode(EvtDecayBase *decay, double brfr, double massmin)
void removeMode(EvtDecayBase *decay)
void makeChargeConj(EvtParticleDecayList *conjDecayList)
void alocateDecay(int nmode)
EvtParticleDecayPtr * _decaylist
void setRawBrfrSum(double rawbrfrsum)
EvtParticleDecayList & operator=(const EvtParticleDecayList &o)
EvtDecayBase * getDecayModel(EvtParticle *p)
EvtParticleDecay * EvtParticleDecayPtr
EvtParticleDecay & getDecay(int nchannel) const