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.
EvtKStopizmumu.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 EVTKSTOPIZMUMU_HH
22 #define EVTKSTOPIZMUMU_HH
23 
25 
26 #include <string>
27 
28 class EvtParticle;
29 
30 // Description: Routine to implement KS -> pi0 mu mu; see JHEP08(1998)004.
31 
32 class EvtKStopizmumu : public EvtDecayAmp {
33  public:
34  std::string getName() override { return "KS_PI0MUMU"; }
35 
36  EvtDecayBase* clone() override { return new EvtKStopizmumu; }
37 
38  void init() override;
39 
40  void initProbMax() override { setProbMax( 1.0e-10 ); }
41 
42  void decay( EvtParticle* p ) override;
43 
44  double F_z( const double& z, const double& rvsq );
45  EvtComplex G_z( const double& z );
46  double Wpol_z( const double& z, const double& as, const double& bs );
47  EvtComplex chi_z( const double& z, const double& rpisq );
48  EvtComplex Wpipi_z( const double& z, const double& alpha_s,
49  const double& beta_s, const double& rvsq,
50  const double& rpisq, const double& z0 );
51 };
52 
53 #endif //EVTKTOPIZMUMU_HH
EvtComplex chi_z(const double &z, const double &rpisq)
void initProbMax() override
double Wpol_z(const double &z, const double &as, const double &bs)
EvtComplex G_z(const double &z)
EvtComplex Wpipi_z(const double &z, const double &alpha_s, const double &beta_s, const double &rvsq, const double &rpisq, const double &z0)
double F_z(const double &z, const double &rvsq)
void setProbMax(double prbmx)
EvtDecayBase * clone() override
void decay(EvtParticle *p) override
void init() override
std::string getName() override