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.
EvtRareLbToLllFFBase.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 EVTRARELBTOLLLFFBASE_HH
22 #define EVTRARELBTOLLLFFBASE_HH 1
23 
24 // Include files
25 
33 #include "EvtGenBase/EvtIdSet.hh"
35 
36 #include <map>
37 #include <string>
38 
40  public:
41  class FormFactors {
42  public:
43  FormFactors();
44 
45  virtual ~FormFactors(){};
46 
47  void areZero();
48 
49  double F_[4];
50  double G_[4];
51  double FT_[4];
52  double GT_[4];
53  };
54 
55  virtual void init() = 0;
56 
57  virtual void getFF( EvtParticle* parent, EvtParticle* lambda,
59 
60  bool isNatural( EvtParticle* lambda );
61 
63  virtual ~EvtRareLbToLllFFBase(){};
64 
65  protected:
66  double calculateVdotV( EvtParticle* parent, EvtParticle* lambda ) const;
67  double calculateVdotV( EvtParticle*, EvtParticle*, double qsq ) const;
68 
70 };
71 
72 #endif
virtual void getFF(EvtParticle *parent, EvtParticle *lambda, EvtRareLbToLllFFBase::FormFactors &FF)=0
double calculateVdotV(EvtParticle *parent, EvtParticle *lambda) const
double lambda(double q, double m1, double m2)
Definition: EvtFlatQ2.cpp:31
bool isNatural(EvtParticle *lambda)
virtual void init()=0