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.
EvtDecayAmp.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 EVTDECAYAMP_HH
22 #define EVTDECAYAMP_HH
23 
24 #include "EvtGenBase/EvtAmp.hh"
26 
27 // Description: Baseclass for models that calculates amplitudes
28 
29 class EvtDecayAmp : public EvtDecayBase {
30  public:
31  void makeDecay( EvtParticle* p, bool recursive = true ) override;
32  inline void setWeight( double weight ) { _weight = weight; }
33 
37  void vertex( const EvtComplex& amp ) { _amp2.vertex( amp ); }
38 
42  void vertex( int i1, const EvtComplex& amp ) { _amp2.vertex( i1, amp ); }
43 
47  void vertex( int i1, int i2, const EvtComplex& amp )
48  {
49  _amp2.vertex( i1, i2, amp );
50  }
51 
55  void vertex( int i1, int i2, int i3, const EvtComplex& amp )
56  {
57  _amp2.vertex( i1, i2, i3, amp );
58  }
59 
63  void vertex( int* i1, const EvtComplex& amp ) { _amp2.vertex( i1, amp ); }
64 
68  const EvtAmp& amplitude() const { return _amp2; }
69 
70  virtual ~EvtDecayAmp() {}
71 
72  protected:
74 
75  private:
76  double _weight;
77 };
78 
79 #endif
void vertex(int *i1, const EvtComplex &amp)
Definition: EvtDecayAmp.hh:63
double _weight
Definition: EvtDecayAmp.hh:76
void vertex(int i1, int i2, const EvtComplex &amp)
Definition: EvtDecayAmp.hh:47
void vertex(int i1, int i2, int i3, const EvtComplex &amp)
Definition: EvtDecayAmp.hh:55
virtual ~EvtDecayAmp()
Definition: EvtDecayAmp.hh:70
const EvtAmp & amplitude() const
Definition: EvtDecayAmp.hh:68
void vertex(int i1, const EvtComplex &amp)
Definition: EvtDecayAmp.hh:42
void vertex(const EvtComplex &amp)
Definition: EvtAmp.cpp:454
void vertex(const EvtComplex &amp)
Definition: EvtDecayAmp.hh:37
Definition: EvtAmp.hh:30
void makeDecay(EvtParticle *p, bool recursive=true) override
Definition: EvtDecayAmp.cpp:33
EvtAmp _amp2
Definition: EvtDecayAmp.hh:73
void setWeight(double weight)
Definition: EvtDecayAmp.hh:32